デフォルトでは、オリジンへのリクエストの Host ヘッダーの値は、高速化ドメイン名です。Host ヘッダーのカスタム値を指定することもできます。
背景情報
それぞれ異なる静的リソースを高速化するために使用される複数の高速化ドメイン名がある場合、一般的な方法は複数のオリジンサーバーをデプロイすることです。このようにして、異なる高速化ドメイン名宛てのリクエストを異なるオリジンサーバーにリダイレクトできます。
多数の高速化ドメイン名と少量のオリジントラフィックがある場合、複数のオリジンサーバーをデプロイするとリソースの無駄になる可能性があります。この場合、バーチャルホスティングを使用できます。
バーチャルホスティング
バーチャルホスティングを使用すると、単一の Web サーバーで複数の Web サイトをホストできます。サーバーは、ドメイン名またはホスト名によって異なる Web サイトを区別して分離します。ユーザーが特定のドメイン名またはホスト名にアクセスすると、サーバーは、必要なコンテンツを取得するためにリクエスト内のドメイン名またはホスト名に基づいて、リクエストを対応する仮想サイトに転送します。次の図は、バーチャルホスティングの仕組みを示しています。
NGINX 関連の実装
NGINX では、server
ブロックを使用して複数の仮想 Web サイトを構成できます。次のサンプルコードは、複数の仮想 Web サイトを構成する方法の例を示しています。
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;
...
}
プロジェクトは、example.org
、example.net
、example.com
の 3 つの仮想 Web サイトで構成されています。NGINX は、server_name
と HTTP リクエストの Host ヘッダーの値を使用して、提供する仮想 Web サイトを決定します。一致する仮想 Web サイトがない場合、NGINX はデフォルトの Web サイトを使用します。デフォルトが構成されていない場合は、最初の server
ブロックで指定された仮想 Web サイトが使用されます。
デフォルトのオリジンホスト
Host ヘッダーを指定せずに URL にアクセスする場合、Host ヘッダーの値は URL 内のホストとポートです。ただし、Alibaba Cloud CDN は、デフォルトで高速化ドメイン名を Host ヘッダーの値として同時に使用します。オリジンサーバーの仮想 Web サイトの Host ヘッダーのデフォルト値を指定できます。
オリジンサーバーは、Host ヘッダーの値に基づいて異なる仮想 Web サイトを照合できる必要があります。そうでない場合、この機能は期待どおりに動作しません。
手順
Alibaba Cloud CDN コンソール にログインします。
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
ドメイン名 ページで、管理するドメイン名を見つけ、管理 列の アクション をクリックします。
ドメイン名の左側のナビゲーションツリーで、Back-to-Origin 設定 をクリックします。
[デフォルトのオリジンホスト] セクションで、変更 をクリックします。
[オリジンホスト] をオンにし、[ドメインタイプ] パラメーターを構成します。
パラメーター
説明
CDN ドメイン
ユーザーがアクセスするドメイン名がオリジンホストとして使用されます。
オリジンドメイン
オリジンサーバーのドメイン名がオリジンホストとして使用されます。
説明オリジンサーバーを追加するときに、オリジンサーバーのタイプを IP に設定すると、[オリジンドメイン] は選択不可になります。
オリジンサーバーを追加するときに、オリジンサーバーのタイプを OSS ドメインに設定すると、[オリジンホスト] がオンになり、[ドメインタイプ] パラメーターは [オリジンドメイン] に設定されます。
カスタムドメイン
指定したドメイン名がオリジンホストとして使用されます。
説明カスタムドメイン名がオリジンサーバーに関連付けられていることを確認してください。そうでない場合、オリジンフェッチは失敗します。
オリジンサーバーは複数のドメイン名に関連付けられており、リクエストがリダイレクトされるドメイン名を指定します。
OK をクリックします。
サンプル構成
例 1: オリジンサーバーのアドレスはドメイン名です。
ドメイン名 | 説明 |
高速化ドメイン名:
オリジンサーバーのアドレス:
| デフォルトでは、この機能は無効になっています。デフォルトのオリジンホスト機能を有効にすることができます。 ドメインタイプの説明:
|
例 2: オリジンサーバーのアドレスは IP アドレスです。
ドメイン名 | 説明 |
高速化ドメイン名:
オリジンサーバーのアドレス:
| デフォルトでは、この機能は無効になっています。デフォルトのオリジンホスト機能を有効にすることができます。 ドメインタイプの説明:
|
例 3: オリジンサーバーのアドレスは OSS ドメイン名です。
ドメイン名 | 説明 |
高速化ドメイン名:
オリジンサーバーのアドレス:
| オリジンサーバーのアドレスが OSS ドメイン名の場合、Alibaba Cloud CDN は [オリジンホスト] 機能を自動的に有効にし、[ドメインタイプ] パラメーターを [オリジンドメイン] に設定します。 ドメインタイプの説明:
|