Vercel のカスタムドメインが反映されない
Vercel にドメインを追加してもアクセスできない事象は DNS の A / CNAME 値、伝播待ち、SSL 証明書発行、Production ブランチ未デプロイのいずれかが原因。
Domains 画面の Configuration 指示通りに DNS を登録するのが起点。
公開:
要約
Vercel にカスタムドメインを追加してもアクセスできない事象は、ほぼ DNS かデプロイの問題に分類できる。
Project → Settings → Domains に表示される Configuration ステータスを基準に、A レコードまたは CNAME を Vercel 指定値に揃え、Production ブランチに有効なデプロイがあるかを確認する。
よくある原因
- DNS 値の誤り: apex (
example.com) には A レコード76.76.21.21を、サブドメイン (www.example.com) には CNAMEcname.vercel-dns.comを登録するのが Vercel の規定。
違う値だと Invalid Configuration になる。 - 伝播待ち: ネームサーバ変更や TTL の影響で、最大 48 時間反映されないことがある。
digで確認できないうちはブラウザでも読めない。 - SSL 証明書発行中: DNS が正しく解決した後、Vercel が Let's Encrypt に対して自動で証明書を取得する。
DNS 未確定だと発行が止まる。 - Production デプロイ不在: ドメインは Production Git Branch に最後にデプロイされたビルドへ割り当てられる。
一度も deploy していない、またはプロジェクトを変えた直後は 404 になる。
解決策
1. Domains 画面の指示通りに DNS を登録
Project → Settings → Domains にドメインを追加すると、Configuration セクションに登録すべき正確なレコードが表示される。
これが真の正。
A @ 76.76.21.21
CNAME www cname.vercel-dns.comworking with domains に apex / サブドメインそれぞれの推奨パターンが書かれている。
Cloudflare などプロキシ機能を持つ DNS では、プロキシ (Orange Cloud) を OFF にする必要がある場合がある。
2. dig で実値を確認
dig +short example.com
dig +short www.example.com CNAME期待値が返らなければまだ DNS が伝播していない。dig @8.8.8.8 ... のように外部リゾルバを指定して比較する。
3. 証明書の発行を待つ
DNS が正しく通った後、Domains 画面の対象行に Issued が出るまで数分〜数十分待つ。Pending のまま動かないときは Refresh を押す、もしくは一度ドメインを Remove → Add し直す。
4. Production ブランチにデプロイ
Settings → Git → Production Branch を確認し、そのブランチに最低 1 回デプロイする。
プレビュー deploy だけだとカスタムドメインには割り当てられない。