デフォルトでは、CDN が送信するオリジンリクエストの Host ヘッダーは高速化ドメイン名です。この機能を使用すると、これらのリクエストの Host ヘッダーの値をカスタマイズできます。
デフォルトオリジンホストについて
複数の高速化ドメイン名から異なる静的リソースを配信する場合、一般的なアプローチは、ドメインごとに個別のオリジンサーバーをセットアップすることです。
しかし、特にオリジントラフィックが少ない高速化ドメイン名の場合、複数のサーバーを維持することは非効率です。この問題は、仮想ホストを使用することで解決できます。
仮想ホスト
仮想ホストを使用すると、単一の Web サーバーで複数の Web サイトをホストできます。サーバーは、異なるドメイン名またはホスト名を使用して Web サイトを区別し、分離します。ユーザーが特定のドメイン名またはホスト名をリクエストすると、サーバーはリクエストを一致する仮想サイトにルーティングし、対応するコンテンツを返します。この仕組みを次の図に示します。
Nginx での実装
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;
...
}この設定では、example.org、example.net、example.com の 3 つの仮想サイトを定義します。Nginx は Host ヘッダーと server_name を照合して、正しい仮想サイトを選択します。一致するものが見つからない場合、Nginx はデフォルトの仮想サイトからコンテンツを配信します。デフォルトサイトが明示的に設定されていない場合、最初の server ブロックがデフォルトになります。
デフォルトオリジンホスト
URL にアクセスすると、リクエストの Host ヘッダーには、デフォルトで URL のホストとポートが設定されます。CDN は、Host ヘッダーを高速化ドメイン名に設定することで、このデフォルト値を上書きします。オリジンサーバーの仮想ホスト設定に基づいて、このデフォルト値をカスタマイズできます。
オリジンサーバーは、Host ヘッダーを使用してリクエストを異なる仮想サイトにルーティングするように設定されている必要があります。そうしないと、この機能は正しく動作しません。
オリジンサーバーが HTTPS プロトコルを使用する場合、デフォルトオリジンホストの設定に加えて、通常は [デフォルト back-to-origin SNI] も設定する必要があります。オリジンホストとオリジン SNI の設定に一貫性がない場合 (たとえば、HOST がオリジンドメイン名に設定され、SNI が高速化ドメイン名に設定されている場合など) 、SSL ハンドシェイクの失敗やオリジンサーバーエラーが発生する可能性があります。オリジンホストとオリジン SNI の両方を同じドメイン名 (通常はオリジンドメイン名または高速化ドメイン名で、オリジンサーバーの証明書と仮想ホストの設定に一致させる必要があります) に設定することを推奨します。コンソールでは、[デフォルトオリジンホスト] と [デフォルトオリジン SNI] は 2 つの個別の設定項目です。
手順
CDN コンソールにログインします。
左側メニューで、ドメイン名 を選択します。
対象の高速化ドメイン名を見つけ、[操作] 列の [管理] をクリックします。
左側メニューで、Back-to-Origin 設定 を選択します。
デフォルトの配信元ホスト セクションで、変更 をクリックします。
Back-to-Origin ホスト スイッチをオンにし、ドメインタイプ を選択します。

パラメーター | 説明 |
高速化ドメイン名 | オリジンホストを高速化ドメイン名に設定します。 |
オリジンドメイン | オリジンホストをオリジンサーバーのドメイン名に設定します。オリジンサーバーが IP アドレスで指定されている場合、このオプションはグレーアウトされ、使用できません。オリジンサーバーが OSS ドメインの場合、この機能は自動的に有効になり、オリジンホストは [オリジンドメイン] に設定されます。 |
カスタム | オリジンホストを、指定したカスタムドメインに設定します。カスタムドメイン名がオリジンサーバーにバインドされていることを確認してください。そうしないと、オリジンリクエストは失敗します。このオプションは、オリジンサーバーが複数のドメイン名にバインドされており、特定のドメイン名からリソースをフェッチする必要がある場合に使用します。 |
オリジンサーバーが HTTPS プロトコルを使用する場合、同じ Back-to-Origin 設定 ページで デフォルト back-to-origin SNI も設定する必要があります。SSL ハンドシェイクの失敗やオリジンサーバーからの拒否を避けるために、Back-to-Origin ホスト と デフォルト back-to-origin SNI を同じドメイン名 (通常はオリジンドメイン名) に設定することを推奨します。たとえば、Back-to-Origin ホスト がオリジンドメイン名に設定されており、デフォルト back-to-origin SNI が高速化ドメイン名に設定されている場合、オリジンサーバーの証明書検証が失敗する可能性があります。
[OK] をクリックします。
設定例
デフォルトでは、この機能は無効になっています。手動で有効にできます。
例 1:オリジンサーバーがドメイン名で指定されている場合
設定:
高速化ドメイン名:
image.example.comオリジンサーバーアドレス:
source.example.com
ドメインタイプごとの動作は次のとおりです。
高速化ドメイン名: CDN がオリジンリクエストを実行すると、オリジンサーバー
source.example.comの仮想サイトimage.example.comからリソースを取得します。オリジンドメイン: CDN がオリジンリクエストを実行すると、
source.example.comからリソースを取得します。カスタム: オリジンホストは、入力したカスタムドメインです。CDN がオリジンリクエストを実行すると、ホスト
source.example.comのカスタムドメインの仮想サイトからリソースを取得します。
例 2:オリジンサーバーが IP アドレスで指定されている場合
設定:
高速化ドメイン名:
example.comオリジンサーバーアドレス:
10.10.10.10
ドメインタイプごとの動作は次のとおりです。
高速化ドメイン名: CDN がオリジンリクエストを実行すると、ホスト
10.10.10.10のexample.comの仮想サイトからリソースを取得します。オリジンドメイン: オリジンサーバーが IP アドレスであるため、このオプションは使用できません。
カスタム: CDN がオリジンリクエストを実行すると、ホスト
10.10.10.10のカスタムドメインの仮想サイトからリソースを取得します。
例 3:オリジンサーバーが OSS ドメインの場合
設定:
高速化ドメイン名:
example.comオリジンサーバーアドレス:
example.oss-cn-hangzhou.aliyuncs.com
オリジンサーバーが OSS ドメインの場合、CDN は自動的にこの機能を有効にし、[オリジンホスト] を [オリジンドメイン] に設定します。ドメインタイプごとの動作は次のとおりです。
高速化ドメイン名: CDN がオリジンリクエストを実行すると、OSS ドメイン
example.oss-cn-hangzhou.aliyuncs.comのサイトexample.comからリソースを取得します。オリジンドメイン: CDN がオリジンリクエストを実行すると、OSS ドメイン
example.oss-cn-hangzhou.aliyuncs.comからリソースを取得します。カスタム: CDN がオリジンリクエストを実行すると、サイト
example.oss-cn-hangzhou.aliyuncs.comのカスタムドメインの仮想サイトからリソースを取得します。
よくある質問
デフォルトオリジンホストを設定した後、高速化ドメイン名にアクセスすると 404、500、502、または 403 エラーが発生する場合はどうすればよいですか?
次のトラブルシューティング手順に従ってください。
オリジンホスト設定と仮想ホスト設定の確認 オリジンサーバーが
Hostヘッダーを使用して仮想サイト (Nginx のserver_nameなど) を区別している場合は、CDN コンソールで設定されたデフォルトオリジンホストが、オリジンサーバーで想定されているドメイン名と一致していることを確認してください。コンソールでのパス: ドメイン名 > ドメイン名リスト > 対象ドメインを選択 > Back-to-Origin 設定 (サブタブ) > Back-to-Origin ホスト セクションで 変更 をクリックし、ダイアログボックスで [ドメインタイプ] をオリジンドメイン名または高速化ドメイン名に設定します。オリジンサーバーによる CDN ノード IP のブロック確認 オリジンホストが正しく設定されていてもエラーが続く場合は、オリジンサーバーのセキュリティポリシーが CDN ノードの IP をブロックしていないか、またはオリジンサーバーのファイアウォールやセキュリティグループが CDN からのリクエストを拒否していないかを確認してください。
IIS のホストヘッダー設定の確認 オリジンサーバーが IIS を実行しており、特定のホストヘッダーが設定されている場合、CDN のオリジンリクエストの Host フィールドはそのホストヘッダーと一致する必要があります。そうしないと、IIS は 403 または 404 エラーを返す可能性があります。IIS に特定のホストヘッダーが設定されていない場合 (IP による直接アクセスが許可されている場合) 、特別な設定は不要ですが、CDN のオリジンホストと一致するように正しいホストヘッダーを設定することを推奨します。
CDN キャッシュのパージ エラーレスポンス (オリジンからの 404 など) が以前に CDN エッジノードにキャッシュされていた場合、オリジンホストの設定を変更した後に CDN キャッシュをパージして、キャッシュされたエラーレスポンスをクリアする必要があります。パージとプリフェッチ > [キャッシュ更新] に移動し、更新タイプ (URL/ディレクトリ/正規表現) を選択して、更新タスクを送信します。
デフォルトオリジンホストと SNI を設定した後に ERR_TOO_MANY_REDIRECTS または 502 エラーが発生する場合はどうすればよいですか?
ERR_TOO_MANY_REDIRECTS は通常、CDN とオリジンサーバーの両方で HTTPS 強制リダイレクトが設定されていることによるリダイレクトループが原因で発生します。502 エラーは通常、オリジンプロトコルまたはポートが誤って設定されていること (たとえば、オリジンサーバーが非標準ポートでリッスンしているなど) を示します。次の手順に従ってください。
オリジンサーバーでの HTTPS 強制リダイレクトの無効化 オリジンサーバーの管理パネル (Baota Panel など) にログインし、HTTPS 設定を見つけて、「Force HTTPS」または「HTTP to HTTPS redirect」オプションを無効にします。
オリジンホストとオリジン SNI の設定確認 CDN コンソールの Back-to-Origin 設定 ページで、Back-to-Origin ホスト と デフォルト back-to-origin SNI が正しいドメイン名 (通常はオリジンドメイン名) に設定されており、両方の値に一貫性があることを確認してください。
オリジンプロトコルとポートの確認と調整 CDN のオリジンプロトコル (HTTP または HTTPS) とポートが、オリジンサーバーの実際の設定と一致していることを確認してください。オリジンサーバーが特定のポート (HTTP のポート 8080 など) でのみリッスンしている場合は、CDN のオリジンサーバー設定で対応するオリジンポートを設定します。
CDN キャッシュのパージ 設定を調整した後、CDN キャッシュをパージして、キャッシュされているリダイレクトまたはエラーレスポンスをクリアします。
CDN のオリジンリクエストの Host ヘッダーが期待どおりであることを確認するにはどうすればよいですか?
次の方法を使用します。
リクエストが CDN を経由しているかの確認 ブラウザの開発者ツールの [ネットワーク] パネルで、高速化ドメイン名へのリクエストの Remote Address が Alibaba Cloud CDN ノードの IP であるかどうかを確認し、リクエストが CDN のアクセラレーションパスを経由していることを確認します。高速化ドメイン名経由でアクセスすることで、アクセラレーションの状態が確認できます。
オリジンサーバーのアクセスログにおける Host ヘッダーの確認 オリジンサーバーにログインし、アクセスログ (Nginx の
access.logなど) を表示します。CDN のオリジンリクエストの Host ヘッダーの値が、CDN コンソールで設定されたデフォルトオリジンホストと一致していることを確認します。たとえば、設定したオリジンホストがsource.example.comの場合、対応するオリジンリクエストのオリジンサーバーログの Host ヘッダーの値もsource.example.comである必要があります。リクエストパスのパススルー動作に関する注意 コンソールで「オリジン URI の書き換え」機能を設定していない場合、CDN はデフォルトで、プレフィックスやサフィックスを追加せずにクライアントの元のリクエストパスをパススルーします。オリジンパスがオリジンサーバーの想定と一致しない場合は、Back-to-Origin 設定 ページで URI の書き換えを設定します。
オリジンとして Cloudflare、WAF、またはその他のセキュリティサービスを使用している場合に 403 Forbidden エラーが発生した場合はどうすればよいですか?
オリジンサーバーが Cloudflare や WAF などのセキュリティサービスを使用している場合、403 Forbidden エラーは通常、オリジンホストがオリジンのセキュリティサービスで想定されている Host ヘッダーと一致せず、セキュリティポリシーによってリクエストがブロックされることが原因で発生します。
オリジンサーバーにバインドされたドメインへのデフォルトオリジンホスト設定 CDN コンソールで、Back-to-Origin ホスト を、実際にオリジンサーバーにバインドされているドメイン名 (高速化ドメイン名ではない) に設定し、オリジンサーバーの証明書と仮想ホストの設定に一致することを確認します。
WAF 設定におけるドメイン一貫性の確保 オリジンサーバーが WAF (Alibaba Cloud WAF や Cloudflare など) を使用している場合は、CDN のオリジンリクエストの Host ヘッダーが WAF で設定された保護ドメインと一致することを確認してください。そうしないと、WAF はドメインの不一致によりリクエストをブロックします。
オリジンサーバーのアクセスログの確認 オリジンサーバーまたはセキュリティサービスの管理パネルにログインし、アクセスログを確認して、CDN ノード IP からのリクエストがブロックされているかどうかを確認します。ブロック理由をチェックして、特定のセキュリティルールを特定します。
CDN キャッシュのパージ 設定を変更した後、CDN キャッシュをパージして、キャッシュされている 403 エラーレスポンスをクリアします。
CDN アクセラレーション後にページのリダイレクトが失敗したり、一部のリソースにアクセスできなくなったりした場合はどうすればよいですか?
この問題は、オリジンサーバーがルーティングまたはリダイレクトロジックのために URL パラメーターまたは特定の Host ヘッダーに依存しており、CDN のデフォルトの動作によってパラメーターの損失または Host ヘッダーの不一致が引き起こされる場合に発生することがあります。
キャッシュルールにおける URL パラメーター設定の確認 CDN コンソールのキャッシュ設定で、「URL パラメーターを無視」機能が有効になっているかどうかを確認します。オリジンサーバーがリダイレクトやロジック決定のために URL パラメーターに依存している場合、この機能を有効にするとパラメーターが失われる可能性があります。「URL パラメーターを無視」を無効にするか、「指定されたパラメーターを保持」を選択して、オリジンサーバーが必要とするパラメーターを保持することを検討してください。
オリジンサーバーが想定するドメインへのオリジンホスト設定 Back-to-Origin ホスト を高速化ドメイン名またはオリジンサーバーが想定するドメインに設定し、オリジンサーバーがリクエストの Host ヘッダーを正しく識別し、リダイレクトロジックを処理できるようにします。
ディレクトリまたは URL のパージ 設定を変更した後、CDN コンソールの [パージとプリフェッチ] ページでディレクトリ更新または URL 更新を実行して、新しい設定を適用します。