Apache2 VirtualHostsを解決するには?

Apache2 VirtualHostsを解決するには?

私が理解したように、ブラウザを使用してWebサイトからURLを要求するときに、オペレーティングシステムが指すDNSサーバーがサーバーのDNS名に関連付けられているIPアドレスを知っていることを確認し、DNSサーバーが要求したサーバーを探すかどうかを尋ねます。 、ブラウザがWebサーバーからURLを要求できるようにipを返します。

この時点で、ブラウザがDNS名ではなくサーバーのIPアドレスを使用してURLを要求していることを考えると、Webサーバー(Apache2)はDNS名に関連する正しいVirtualHostを返す方法をどのように知ることができますか?

私の頭では、これはブラウザのヘッダーに関連していると言っていますが、それについて完全にはわかりません。

メモ:これは関連ソリューション

ベストアンサー1

HTTPリクエストにはリクエストパスだけでなく、多くのヘッダがあります。これらのヘッダーの1つ(Host:ヘッダー)はリクエストのホスト名です(unix.SEの場合は「unix.stackexchange.com」)。 Apacheはこれを確認し、要求を適切に処理します。

Host:注:HTTPSはヘッダーが暗号化されているため、IPごとに1つの証明書に制限されています。サーバーがそのヘッダーを取得するまでどの証明書を送信するかはわかりませんが、要求(証明書が必要です)を受け取るまでヘッダーを取得できません。この問題は、Host初期ハンドシェイクにヘッダーなどを追加するサーバー名表示拡張機能を使用してTLSで解決されます。

おすすめ記事