今回やること
この記事では、DNS設定後にWebサイトが表示されない時の確認順を整理します。
表示されない時は、ネームサーバー、DNSレコード、ホスティング登録、HTTPS、リダイレクトを順番に分けて確認します。
前提条件
- 独自ドメインを取得済み
- DNSレコードを変更した
- ホスティングサービスにサイトをデプロイ済み
- ターミナルで
nslookupまたはdigを使える
例では example.com を使います。
Step 1: 現在のネームサーバーを確認する
まず、どのDNSサービスが使われているかを確認します。
dig example.com NS
Windowsでは次を使えます。
nslookup -type=NS example.com
DNSレコードを編集しているサービスと、実際のネームサーバーが一致しているか見ます。
Step 2: A/CNAMEが返るか確認する
apexドメイン:
dig example.com A
wwwサブドメイン:
dig www.example.com CNAME
ホスティングサービスが指定した値と一致しているか確認します。
Step 3: 別DNSサーバーで確認する
自分の環境だけ古い結果を見ている可能性があります。
dig @1.1.1.1 example.com A
dig @8.8.8.8 example.com A
結果が違う場合、TTLやキャッシュ、反映途中の可能性があります。
Step 4: HTTP応答を見る
DNSが返る場合、HTTP応答を見ます。
curl -I https://example.com
詳細を見る場合:
curl -v https://example.com
DNS、TCP、TLS、HTTPのどこまで進んでいるかを確認します。
Step 5: HTTPS証明書を見る
ブラウザで証明書エラーが出る場合は、次を確認します。
- 証明書が発行済みか
- 証明書の対象名がURLと一致しているか
example.comとwww.example.comの両方が必要か- DNSがホスティング先へ正しく向いているか
Step 6: ホスティング側の登録を確認する
DNSが合っていても、ホスティング側にドメインが登録されていないと表示されない場合があります。
確認すること:
- プロジェクトに対象ドメインが追加されているか
- Production環境に紐づいているか
- ドメイン所有確認が完了しているか
- ビルドが成功しているか
Step 7: リダイレクトループを見る
リダイレクトが多すぎる場合は、curlで追跡します。
curl -I -L https://example.com
apexからwww、wwwからapexへ互いに転送していないか確認します。
症状別の見方
| 症状 | 見る場所 |
|---|---|
NXDOMAIN | ドメイン名、DNSゾーン、NS |
| IPが古い | TTL、DNSキャッシュ |
connection refused | ホスティング先、ポート |
| 証明書警告 | HTTPS証明書、対象名 |
404 | ホスティング側のドメイン登録、ルーティング |
| リダイレクトが終わらない | 転送ルール |
よくあるエラー
| エラー | よくある原因 | 確認すること |
|---|---|---|
| DNSを変更したのに効かない | 違うDNSサービスを編集している | NSレコード |
| wwwだけ表示されない | CNAME未設定 | www のDNS |
| apexだけ表示されない | A/ALIAS未設定 | apexのDNS |
| HTTPSだけ失敗 | 証明書未発行 | ホスティングの証明書状態 |
学習用と本番用の違い
学習では確認手順を一つずつ試せば十分です。本番では、変更前の値、変更時刻、戻し方、関係者への共有、監視を用意してから作業します。
まとめ
DNS設定後に表示されない時は、現在のネームサーバー、A/CNAME、別DNSサーバー、HTTP応答、HTTPS証明書、ホスティング登録、リダイレクトを順番に確認します。原因を一気に決めつけず、どの段階まで成功しているかを分けます。