문제
Shopify 설정 → 도메인에 도메인을 추가하고 등록대행사에 레코드를 붙여 넣었는데, 지금 도메인이 옛 사이트를 띄우거나, DNS 오류가 나거나, “연결이 비공개로 설정되어 있지 않습니다” 경고와 함께 열립니다. your-store.myshopify.com URL은 멀쩡합니다. 정작 돈 주고 산 도메인은 안 됩니다. Shopify의 연결 확인 버튼은 계속 실패하면서, 당신이 건드린 레코드 중 어느 것이 틀렸는지는 알려주지 않습니다.
멈춘 Shopify 도메인은 거의 전부 세 가지 문제 중 하나이고, 셋은 서로 다른 층에서 깨집니다: 레코드가 엉뚱한 곳을 가리키거나, 변경이 아직 리졸버에 도달하지 못했거나, 인증서가 발급되지 못한 것입니다. 이 순서대로 점검하세요.
apex와 www는 서로 다른 레코드가 필요하다 — 바꿔 쓸 수 없다
대부분의 스토어 운영자가 여기서 틀립니다. 고객이 입력할 수 있는 두 이름이 서로 바꿔도 될 것처럼 보이지만 그렇지 않기 때문입니다.
- apex — 맨
example.com. Shopify IP인 **23.227.38.65**를 가리키는 A 레코드가 들어갑니다. A 레코드 하나, 값 하나. (이전 호스트에서 남은 A 레코드가 apex에 아직 붙어 있다면 지우세요 — 옛 서버를 가리키는 떠돌이 A 레코드 하나 때문에 방문자 절반이 엉뚱한 사이트로 갑니다.) www. **shops.myshopify.com**을 가리키는 CNAME이 들어갑니다 — 당신 스토어의.myshopify.comURL도 아니고, IP도 아닙니다.
이 둘을 뒤집어 apex에 CNAME을 줄 수는 없습니다. DNS 명세는 한 이름에서 CNAME이 다른 레코드와 공존하는 것을 금지하는데, 존 꼭짓점은 SOA와 NS 레코드를 반드시 지녀야 합니다 — 그래서 거기 CNAME은 불법입니다. Shopify의 안내가 비대칭으로 보이는 이유가 바로 이것입니다: 루트엔 고정 IP를 담은 A 레코드, www엔 CNAME. Shopify는 두 정확한 값을 도메인 페이지에 찍어 주니, 값이 혹시 바뀔 때를 대비해 블로그가 아니라 거기서 가져오세요.
Shopify는 지원되는 등록대행사에서 산 도메인이라면 자동으로 연결할 수도 있습니다 — 등록대행사 API를 통해 레코드를 대신 편집합니다. 그 옵션이 있고 동작한다면 그걸 쓰고 수동 레코드는 건너뛰세요. 절대 하면 안 되는 것은 둘 다 하는 것입니다: 반은 자동, 반은 수동이면 충돌하는 레코드가 남습니다.
“연결 확인” 실패는 대개 전파 중이라는 답이다
레코드가 맞아도 Shopify는 그것을 봐야 하고, 고객과 스토어 사이의 모든 리졸버도 마찬가지입니다. DNS 변경은 저장하는 즉시 적용되지 않습니다 — 리졸버가 이전 답을 TTL이 만료될 때까지 붙들기 때문에, 전부 고친 뒤에도 도메인이 몇 분에서 몇 시간 동안 옛 호스트를 계속 띄울 수 있습니다.
여기 함정이 둘 있습니다:
- 엉뚱한 곳을 편집했다. 도메인의 네임서버가 오래전 외부 DNS 제공자(Cloudflare, 옛 호스트)로 넘어가 있었다면, 방금 등록대행사에서 바꾼 레코드는 아무도 읽지 않는 죽은 편지입니다. 레코드는 위임이 실제로 가리키는 네임서버에서만 유효합니다. (어딘지 모르겠다면 내 도메인 네임서버·DNS 제공자 확인을 보세요.)
- 패널을 보고 있지, 현실을 보고 있지 않다. 등록대행사 편집기에 올바른 값이 보인다고 전 세계 리졸버가 그걸 돌려주는 것은 아닙니다. 전파 중인 올바른 레코드는 Shopify 연결 확인에서 없는 레코드와 똑같이 보입니다.
Shopify는 알아서 다시 확인합니다. 레코드가 정말 맞다면, 이건 고치는 게임이 아니라 기다리는 게임입니다.
인증서는 스스로 발급된다 — 무언가가 막지 않는 한
도메인이 Shopify로 해석되면 Shopify가 무료 TLS 인증서를 자동으로 요청합니다. 당신이 생성하거나 업로드할 것은 없습니다. 이게 최대 48시간 걸릴 수 있고, 그 사이엔 아직 당신 이름에 유효한 인증서가 없어 브라우저가 **“연결이 비공개로 설정되어 있지 않습니다”**를 띄웁니다. 막 연결한 도메인에서 뜨는 이 경고는 거의 언제나 인증서가 아직 발급 중이라는 뜻이지, 설정이 깨진 게 아닙니다.
다만 인증서가 영영 발급되지 않게 하는 두 가지가 있고, 이건 “아직 대기 중”과 똑같이 보입니다:
- CA를 허가하지 않는 CAA 레코드. 도메인에 CAA 레코드가 있다면, 어느 인증기관이 당신에게 발급해도 되는지의 허용 목록입니다. Shopify가 쓰는 CA(Let’s Encrypt)를 명시하지 않으면 CA는 발급을 거부할 의무가 있고, 인증서는 조용히 오지 않습니다. CAA 레코드를 지우거나
letsencrypt.org항목을 추가하세요. - 앞단의 프록시. Cloudflare(또는 유사) 레코드를 proxied / 주황 구름으로 둔 경우 연결을 가로채, Shopify의 발급 챌린지가 Shopify 대신 프록시에 닿습니다. 도메인을 연결하는 동안엔 레코드를 DNS-only로 두세요.
apex와 www가 둘 다 Shopify로 해석되고, 적대적인 CAA도 없고, 앞을 막는 프록시도 없으면, 인증서는 발급됩니다 — 보통 한 시간 안에, 가끔 최대 48시간까지.
DechoNet으로 진단하기
- DNS 조회는 apex의 A 레코드와
www의 CNAME을 권위 네임서버에서 바로 읽어, 그것들이 실제로23.227.38.65와shops.myshopify.com을 가리키는지 확인하고 — 지우는 걸 깜빡한 떠돌이 옛 A 레코드도 잡아냅니다. 인증서를 막을 수 있는 CAA 레코드도 보여줍니다. - 전파 확인은 전 세계 리졸버가 새 레코드를 아직 돌려주는지 보여줍니다 — “내 설정이 깨졌다”와 “옛 TTL 만료를 기다려야 한다”의 차이입니다.
- SSL 확인은 도메인이 Shopify로 해석된 뒤, apex와
www둘 다에 유효한 인증서가 실제로 서빙되고 있는지 확인합니다 — 브라우저 경고를 끄는 마지막 단계입니다.
확인 체크리스트
- apex(
example.com)에23.227.38.65를 가리키는 A 레코드가 하나 — 이전 호스트에서 남은 A 레코드 없음. -
www에shops.myshopify.com으로 가는 CNAME(스토어의.myshopify.comURL 아님, IP 아님). - 도메인의 네임서버가 실제로 가리키는 제공자에서 DNS를 편집하고 있는지 — 더 이상 권위 없는 등록대행사 패널이 아니라.
- 전파 확인이 리졸버가 새 레코드를 돌려주는 것을 보여주는지 — 아니라면 레코드는 맞고 아직 전파 중일 수 있음.
- CAA 레코드가 CA를 막지 않음(지우거나
letsencrypt.org허용), Shopify 앞에 proxied로 남은 레코드 없음. - DNS가 올바른 뒤, SSL 확인이 apex와
www둘 다에 유효한 인증서를 보여줌(첫 발급은 최대 48시간 허용).
이럴 땐 에스컬레이션
- DNS가 어디서나 Shopify로 올바르게 해석되는데 옛 TTL이 완전히 만료된 뒤에도 연결 확인이 계속 실패하면, Shopify에서 도메인을 지웠다 다시 추가해 새 확인을 강제하세요 — DNS 문제가 아니라 낡은 확인 상태입니다.
- DNS가 올바르고 막는 CAA도 프록시도 없는데 48시간이 지나도 인증서가 없으면 발급 쪽 문제입니다. 이미 맞는 레코드를 다시 건드리지 말고, 정확한 호스트명과 함께 Shopify 지원에 문의하세요.
- DNS 제공자가 apex에 A 레코드 옵션을 아예 주지 않으면, 맨 도메인을 Shopify에 직접 올릴 수 없습니다 — apex 레코드를 지원하는 제공자로 DNS를 옮기거나,
www에서 서빙하고 apex를 거기로 리다이렉트하세요.
내 도메인에서 바로 확인
무료, 가입 불필요. 이 가이드가 다루는 항목을 바로 검사하고 조치 방법을 알려드립니다.