デフォルトでは、Edge Security Acceleration (ESA) がオリジンサーバーからリソースをリクエストする際に、クライアントリクエスト内のドメイン名が Host リクエストヘッダーとして使用されます。 リクエストされたドメイン名とは異なるオリジンドメインを構成する場合は、オリジンフェッチリクエストが確実に正しいオリジンに送信されるように、オリジンホストを変更する必要があります。
オリジンサーバーでは、Host リクエストヘッダーによる仮想ホストのマッチングが許可されている必要があります。そうでない場合、オリジンホストの設定は期待どおりに機能しません。
[オリジンホスト] の [オリジンルール] 設定は、よりも優先されますオリジンホストDNS レコード の 設定よりも優先されます。
しくみ
オリジンホスト
ESA Point of Presence (POP) がオリジンサーバーからリソースをリクエストする場合、デフォルトではリクエストされたドメイン名が Host リクエストヘッダーとして使用されます。
オリジンサーバーは、オリジンフェッチリクエストに含まれる www.example.com などの Host ヘッダーに基づいて、リクエストされたリソースを返します。仮想ホスティング を使用して複数のWebサイトがオリジンサーバーでホストされている場合、オリジンサーバーはオリジンフェッチリクエスト内の Host ヘッダーとWebサイト名を確認して、目的のリソースが返されるようにします。 オリジン設定に基づいてオリジンフェッチリクエストの Host リクエストヘッダーを変更し、目的のリソースが返されるようにすることができます。
仮想ホスティング
仮想ホスティングを使用すると、1 つの Web サーバーで複数の Web サイトをホストできます。サーバーは、ドメイン名またはホスト名によって異なる Web サイトを区別して分離します。ユーザーが特定のドメイン名またはホスト名にアクセスすると、サーバーはリクエスト内のドメイン名またはホスト名に基づいて、対応する仮想ホストにリクエストを転送し、必要なコンテンツを取得します。
NGINX サーバー上の仮想ホストの例
NGINX サーバーは、server ブロックを使用して複数の仮想ホストの構成をサポートしています。この例では、NGINX サーバーで次の仮想ホストが構成されています。www.example.org、www.example.net、www.example.com。
NGINX サーバーは、まず HTTP リクエストの Host ヘッダーをチェックして、HTTP リクエストをルーティングする必要がある仮想ホストを決定します。一致する仮想ホストが見つからない場合、NGINX サーバーはデフォルトの仮想ホストを使用してサービスを提供します。デフォルトの仮想ホストが構成されていない場合は、server ブロックを使用して指定された最初の仮想ホストがデフォルトで使用されます。
server {
listen 80;
server_name example.org www.example.org;
... //コメント
}
server {
listen 80;
server_name example.net www.example.net;
... //コメント
}
server {
listen 80;
server_name example.com www.example.com;
... //コメント
}例:
