推奨チュートリアル: linux チュートリアル
まず、 IP バインディング複数ドメイン名は非常に一般的です。レンタルされた仮想ホストのほとんどには、同じ IP を共有する複数のホストがあります。アクセスされているホストを区別するには、次の 2 つの側面を実装する必要があります:
1クライアントは異なる Web サイトをどのように区別しますか?
クライアントがリクエストを行うとき、HTTP リクエストにリクエストされる特定のホスト名が含まれます。たとえば、次のようなリクエストです。 Google が通過するアクセス パケット キャプチャの分析内容は次のとおりです:
GET / HTTP/1.1 Host: www.google.com
リクエスト全体がサーバーに送信され、リクエストする Web サイトのドメイン名を識別するホスト フィールドがあります。 [ホスト] フィールドが異なるため、アクセスは同じ IP アドレスに行われるため、サーバー ソフトウェアにはどの Web サイトが訪問されているかを区別する方法があります。
ホスト フィールドの具体的な定義については、RFC-2616 のセクション 14.23 を参照してください: http://www.rfc-editor.org/rfc/rfc2616.txt
次のは抜粋です (太字部分に注意してください):
14.23 Host
Host リクエスト ヘッダー フィールドには、リクエストされているリソースのインターネット ホストとポート
番号を指定します。 original
ユーザーまたは参照リソースによって指定された URI (通常は HTTP URL、セクション 3.2.2 で説明されているように
)。Host フィールドの値は、
によって指定されたオリジンサーバーまたはゲートウェイの命名機関を表さなければなりません(MUST)。
元の URL。これにより、オリジン サーバーまたはゲートウェイは、単一 IP 上の複数のホスト名のサーバーのルート "/"
URL など、内部的に曖昧な URL を 区別できるようになります。 address.
また、RFC-2616 は HTTP プロトコルの最新仕様ではありません。具体的な仕様については、RFC-2616 の説明リンクを参照してください: RFC 2616 に関する情報
##2. サーバー側の設定方法
サーバーが Apache を使用している場合は、Apache 設定ファイルに VirtualHost を追加して、新しい仮想ホストを追加します:<VirtualHost 10.0.0.1> ServerAdmin admin@admin DocumentRoot "D:/website1" ServerName http://myhost1.com DirectoryIndex index.php </VirtualHost> <VirtualHost 10.0.0.1> ServerAdmin admin@admin DocumentRoot "D:/website2" ServerName http://myhost2.com DirectoryIndex index.php </VirtualHost>上記では、ドメイン名 http://myhost1.com と http://myhost2.com がそれぞれ異なるルート ディレクトリにあることが定義されています。この構成では、Apache が http://myhost1 からリクエストを受信した場合、 com の場合は、d:/website1 に移動します。対応するページを見つけます。http://myhost2.com からのリクエストの場合は、d:/website2 に移動して、対応するページを見つけます。 通常、Apache には IP アドレスを使用してアクセスできるデフォルトの Web サイトもあります。この Web サイトが無効に設定されている場合、ホストは IP アドレスを介して HTTP リソースに直接アクセスできません。
#IIS の場合、IIS は同じ IP を使用して複数のサイトをバインドできます。詳細については、次の図を参照してください。 #[デフォルトのウェブサイト] -> [プロパティ] -> [ウェブサイト] -> [詳細設定] で、別のドメイン名を追加するだけです。 IIS のバージョンが低いため、複数の Web サイトのバインドをサポートできません。IIS の上位バージョンでは、複数の Web サイトを構成でき、各 Web サイトを異なるドメイン名にバインドして、アクセス時に区別することができます。
サーバーがデフォルトの Web サイトを設定していない場合、IP アドレスはホストに直接アクセスできません。したがって、IP アドレスを介して Web サイトに直接アクセスすると、次の 2 つの状況が発生します:
さらに、IIS、Apache、またはその他の種類の Web サイト サーバー ソフトウェアであっても、複数のドメイン名をサポートするだけでなく、複数の IP もサポートします。つまり、サーバーには複数の IP がサポートされます。ドメイン名と複数の IP アドレスを同時に使用できますが、IP は相互に干渉しません。
以上が1 つの IP アドレスを複数のドメイン名に対応させることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。