web-dev-qa-db-ja.com

IPではウェブサイトにアクセスできませんが、完全修飾ドメインでアクセスできます

そのため、IPでWebサイトを閲覧できないようですが、ホスト名を使用して閲覧できます。

C:\Users\c>nslookup www.example.com
Non-authoritative answer:
Name:    cx-cdn-bre.gss.consultix.net
Addresses:  62.168.203.241
          62.168.202.241

62.168.203.241にアクセスしようとすると「nginx内部サーバーエラー」が表示されますが、www.example.comにアクセスするとページが読み込まれます。これはどのようにして可能ですか?

3
catalin

これには、さまざまな理由が考えられます。ここにいくつかあります:

  • ホストヘッダー -つまり、ウェブサーバーは単一のIPアドレスで複数のウェブサイトをホストする可能性があります。ドメイン名がないと、適切なWebサイトを表示できません。

  • ロードバランシングまたは同様のデバイス-IPアドレスはWebサイト用ではなく、他のデバイスにネットワーク負荷を分散するロードバランサー用である可能性があります。

  • 名前解決-IPへの名前解決が変更されました。たとえば、Webサイトのアドレスが変更され、手動でHOSTSファイルに入力して適切なIPに移動したとします。

7
Keltari

Apacheとnginxの両方(他については不明...)は、ファイルの接続と要求に使用されるホスト名に基づいて、同じIPから複数のサイトにサービスを提供できます。

ただし、IPアドレスを使用してサーバーにアクセスする場合は、使用する名前(IP)を処理するように定義された仮想ホストが必要です。サーバーがエラーを生成しているという事実は、サーバーの構成に「間違った」何かがあることを示しています-IPにまったく応答するように設定されていないか、または応答してPHPまたは、スクリプトに何らかの問題があるスクリプト。

5
ivanivan