0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

nginxのVirtualHostでハマったDNS設定トラブルと解決方法

0
Last updated at Posted at 2026-06-07

はじめに

Yoshiwoと申します。
Webエンジニアへの転職を目指してオンラインスクールFBC(フィヨルドブートキャンプ)にて日々学習しています。

FBC のプラクティス『nginxでVirtualHostを使って1つのサーバーで複数のサイトを立ち上げる』に取り組む中で、自分には見えているのに他の人からはアクセスできない、というトラブルに遭遇しました。
同じようにハマっている初学者の方の参考になればと思い、原因の特定から解決までの流れを記録しておきます。

※ この記事はプログラミング学習中の筆者が、自身のトラブル解決の記録をまとめたものです。内容に誤りが含まれる可能性があります。参考にされる際はご注意ください!

用語解説

この記事に登場する用語を先にまとめておきます。

ドメイン

インターネット上の住所のようなものです。
example.comのような人間が読みやすい名前で、DNS によって IPアドレスに変換されます。

IPアドレス

インターネット上の機器に割り当てられた番号です。
160.16.241.119のような数字の羅列で表されます。

DNS

ドメイン名を IPアドレスに変換する仕組みです。
インターネットの電話帳のような役割を持っています。

Aレコード

DNS レコードの一種です。
「このドメインは、この IPアドレス」と紐付ける設定です。

ネームサーバー

「このドメインの DNS設定はどこで管理しているか」を示すサーバーです。

hostsファイル

PC上でドメインと IPアドレスを直接紐付けるためのファイルです。
DNS より優先して参照されます。

nginx

Webサーバーソフトウェアのひとつです。
ブラウザからのリクエストを受け取り、対応する Webページを返します。

VirtualHost

1台のサーバーで複数のドメインを運用するための仕組みです。

dig

DNS の状態を確認するためのコマンドです。
「このドメインはどの IPアドレスへ解決されるのか」を調べることができます。

起きていたこと

nginx の設定を終えて、

  • site1.ysw-engineer.com
  • site2.ysw-engineer.com

を作成しました。

自分のブラウザでは正常に表示されていました。
しかし、他のユーザーがアクセスすると、お名前.comのデフォルトページが表示されてしまう状態でした。
スクリーンショット 2026-05-06 15.48.49.png

原因の特定

調査した結果、

  • 自分の PC だけ正常に表示されていた原因
  • 他のユーザーからアクセスできなかった原因

は別々に存在していました。

原因①:hostsファイルにIPアドレスを直接記載していた

自分の Mac の/etc/hostsを確認すると、以下の設定がありました。

160.16.241.119 site1.ysw-engineer.com
160.16.241.119 site2.ysw-engineer.com

hostsファイルは DNS より優先されます。
そのため、私の PC は DNS を参照せず、hostsファイルに記載された IPアドレスへアクセスしていました。

自分のPC
   ↓
hostsファイル
   ↓
160.16.241.119
   ↓
サーバー

つまり、自分だけ正常に表示されていたのです。

hostsファイルへの記述は動作確認後に削除する

原因②:ネームサーバーが初期設定のままだった

次にdigコマンドで DNS を確認すると、サーバーの IP(160.16.241.119)ではなく、お名前.comのデフォルトページへ向く IPアドレス(150.95.255.38)が返ってきていました。

; <<>> DiG 9.10.6 <<>> site1.ysw-engineer.com
# 略

;; ANSWER SECTION:
site1.ysw-engineer.com.	300	IN	A	150.95.255.38

本来であれば、以下の IPアドレスが返ってくるはずです。

160.16.241.119

まず DNSレコードを確認すると、Aレコード自体は正しく設定されていました。
スクリーンショット 2026-05-12 20.52.39.png

しかし、ネームサーバーを確認すると以下の設定になっていました。
スクリーンショット 2026-05-12 21.09.02.png

dns1.onamae.com
dns2.onamae.com

当時の私は「Aレコードさえ設定すれば反映される」と考えていました。
しかし、調査を進める中で、

  • DNSレコードを登録している場所
  • 実際にドメインが参照しているネームサーバー

の設定に差異があるのではないかと考えました。

調査時点では、

  • Aレコードは160.16.241.119
  • digの結果は150.95.255.38

となっており、設定内容と実際の名前解決結果が一致していませんでした。
ネームサーバー設定を見直したところ問題が解消したため、今回の事象にはネームサーバー設定が関係していた可能性が高いと考えています。

Aレコード:160.16.241.119
digの結果:150.95.255.38

=> 設定内容と実際の名前解決結果が一致していなかった

他のユーザーは DNS経由でアクセスするため、こちらの影響を受けていました。

他人のPC
   ↓
DNS問い合わせ
   ↓
150.95.255.38
   ↓
お名前.comのデフォルトページ

今回のケースでは、DNSレコードの設定内容と実際の名前解決結果が一致していませんでした。
そのため、DNSレコードだけでなく、ネームサーバー設定も確認することが重要だと学びました。

解決策

hostsファイルの記述を削除する

/etc/hostsから以下の2行を削除しました。

sudo vi /etc/hosts
# 以下の2行を削除
160.16.241.119 site1.ysw-engineer.com
160.16.241.119 site2.ysw-engineer.com

DNS設定を見直す

DNSレコードの設定内容と実際の名前解決結果が一致していなかったため、ネームサーバー設定を見直しました。
以下のネームサーバーへ変更しました。

  • 01.dnsv.jp
  • 02.dnsv.jp
  • 03.dnsv.jp
  • 04.dnsv.jp

変更内容はこちらです。
スクリーンショット 2026-05-12 21.11.09.png
変更後にdigコマンドで確認すると、期待していた IPアドレス(160.16.241.119)が返るようになりました。

; <<>> DiG 9.10.6 <<>> site1.ysw-engineer.com
# 略

;; ANSWER SECTION:
site1.ysw-engineer.com.	3600	IN	A	160.16.241.119

その結果、他のユーザーからも正常にアクセスできるようになりました。

今回学んだこと

hostsファイル

  • DNS より優先される
  • 動作確認後は削除する

ネームサーバー

  • DNSレコードとネームサーバー設定の両方を確認することが大切
  • 設定内容と実際の名前解決結果が一致しているか確認する

digコマンド

  • DNSの状態を外から確認できる
  • トラブルシューティングに非常に便利

まとめ

今回のトラブルでは、

  1. hostsファイルを確認する
  2. digコマンドで外部から見た DNS の状態を確認する
  3. DNSレコードとネームサーバー設定を確認する

という流れで原因を切り分けることができました。

また、

  • hostsファイルは DNS より優先される
  • DNSレコードだけでなくネームサーバーの設定も重要
  • digコマンドは DNSトラブルの調査に役立つ

ことを学びました。

「自分の PC では見えるのに他の人からは見えない」という状況に遭遇した場合は、アプリケーションの設定だけでなく、hostsファイルや DNS設定も確認してみると解決のヒントになるかもしれません。
この記事が同じ問題で悩んでいる方の参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?