できない.dev

Vercel のカスタムドメインが反映されない

Vercel にドメインを追加してもアクセスできない事象は DNS の A / CNAME 値、伝播待ち、SSL 証明書発行、Production ブランチ未デプロイのいずれかが原因。
Domains 画面の Configuration 指示通りに DNS を登録するのが起点。

#vercel#domain#dns#ssl#cname

公開:

要約

Vercel にカスタムドメインを追加してもアクセスできない事象は、ほぼ DNS かデプロイの問題に分類できる。
Project → Settings → Domains に表示される Configuration ステータスを基準に、A レコードまたは CNAME を Vercel 指定値に揃え、Production ブランチに有効なデプロイがあるかを確認する。

よくある原因

  1. DNS 値の誤り: apex (example.com) には A レコード 76.76.21.21 を、サブドメイン (www.example.com) には CNAME cname.vercel-dns.com を登録するのが Vercel の規定。
    違う値だと Invalid Configuration になる。
  2. 伝播待ち: ネームサーバ変更や TTL の影響で、最大 48 時間反映されないことがある。dig で確認できないうちはブラウザでも読めない。
  3. SSL 証明書発行中: DNS が正しく解決した後、Vercel が Let's Encrypt に対して自動で証明書を取得する。
    DNS 未確定だと発行が止まる。
  4. Production デプロイ不在: ドメインは Production Git Branch に最後にデプロイされたビルドへ割り当てられる。
    一度も deploy していない、またはプロジェクトを変えた直後は 404 になる。

解決策

1. Domains 画面の指示通りに DNS を登録

Project → Settings → Domains にドメインを追加すると、Configuration セクションに登録すべき正確なレコードが表示される。
これが真の正。

A     @     76.76.21.21
CNAME www   cname.vercel-dns.com

working 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 だけだとカスタムドメインには割り当てられない。

この記事は役立ちましたか?