ApacheWebサーバーは初めてです。 Apache Webサーバーを構成する場合、name-based virtual Host
を設定するオプションがあります。
私の理解では、ユーザーがWebブラウザでドメイン名www.example.com
を入力すると、DNSサーバーに接続し、ドメイン名が(パブリック)IPアドレスに変換されます。次に、WebブラウザはIPアドレスを使用してWebサーバーに接続します。
ここで、パブリックIPアドレスa.a.a.a
のサーバーがあるとします。 www.example.com
とwww.example1.com
の2つのドメイン名を登録しました。これら2つのドメイン名は両方とも同じIPアドレスa.a.a.a
を指しています。したがって、ユーザーがWebブラウザでwww.example.com
またはwww.example1.com
と入力すると、DNSサーバーはそれらをIPアドレスa.a.a.a
にポイントします。
このWebサイト のユーザーガイドに従って、名前ベースの仮想ホストを構成しました。
ただし、私が理解していないのは、DNSサーバーがすでにドメイン名をIPアドレスに変換しているため、すべてのユーザーがIPアドレスa.a.a.a
を使用してWebサーバーに接続することです。 Apacheは、ユーザーがWebブラウザーでwww.example.com
またはwww.example1.com
を使用しているかどうかをどのように認識しますか?
Httpヘッダーにはホストが含まれます。上記の例では、これはwww.example.comまたはwww.example1.comになります。このホストヘッダーはApacheによって読み取られ、クライアントに正しい仮想ホストを送信するために使用されます。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2