オリジンプロトコルポリシーは、ポイント・オブ・プレゼンス (POP) がオリジンサーバーからリソースをフェッチするために使用するプロトコルを指定します。この機能を設定すると、POP は指定されたプロトコルを使用してオリジンサーバーからリソースをフェッチします。HTTP および HTTPS のカスタムポートも設定できます。
機能の概要
デフォルトでは、オリジンプロトコルポリシー機能は無効になっています。この機能が無効の場合、オリジンリクエストのプロトコルは、オリジンサーバーを設定する際に設定したオリジンポートに依存します:
オリジンポートが 443 に設定されている場合、POP は HTTPS 経由でリソースをフェッチします。
オリジンポートが 80 または他のポートに設定されている場合、POP は HTTP 経iroでリソースをフェッチします。
オリジンプロトコルポリシーを設定すると、POP は指定されたプロトコルに基づいてリソースをフェッチします:
HTTP:POP は常に HTTP を使用してオリジンサーバーからリソースをフェッチします。
HTTPS:POP は常に HTTPS を使用してオリジンサーバーからリソースをフェッチします。
フォロー:
ユーザーが HTTP 経由で CDN にアクセスする場合、POP は HTTP を使用してオリジンサーバーからリソースをフェッチします。
ユーザーが HTTPS 経由で CDN にアクセスする場合、POP は HTTPS を使用してオリジンサーバーからリソースをフェッチします。
HTTPS は、伝送中のデータが変更または記録されるのを防ぐためのものです。HTTPS 暗号化は、オリジンサーバーで追加の処理リソースを消費します。ユーザー認証情報などの機密データのみを HTTPS 経由で送信し、画像などの機密でないデータには HTTP を使用する必要がある場合は、オリジンプロトコルポリシーを [フォロー] に設定することを推奨します。
オリジンホストとオリジン SNI の関係
オリジンプロトコルポリシーを [HTTPS] に設定する場合、[デフォルトのオリジンホスト] と [オリジン SNI] の設定も確認することをお勧めします。 オリジンサーバーが複数のドメインをホストするシナリオ (たとえば、1 つのサーバーに複数の HTTPS サイトがデプロイされている場合など) では、POP が HTTPS オリジンリクエストを目的のサイトにルーティングするには、正しい Host ヘッダーと SNI 値が必要です。
オリジンホスト: オリジンサーバーに送信される HTTP リクエストの Host ヘッダーの値を決定します。デフォルトの配信元ホスト セクションで、[アクセラレーションドメイン名]、[オリジンドメイン名]、または [カスタムドメイン] を選択して設定できます。
オリジン SNI: オリジンへのリクエストに対する TLS ハンドシェイク中に送信される [サーバー名表示] (SNI) 値を決定します。この設定は、[オリジン SNI] セクションで機能を有効にして SNI 値を指定することで構成できます。
推奨:オリジンリクエストに HTTPS を設定する場合、特にポート 443 では、オリジンホストとオリジン SNI の両方を高速化ドメイン名またはオリジンドメイン名に設定してください。どちらかの設定が正しくない場合、"Bad Request" や 502 エラーなどのオリジンリクエストの失敗が発生する可能性があります。
手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションペインで [ドメイン名 ] をクリックします。
[ドメイン名] ページで、管理対象のドメイン名を見つけ、[アクション] 列の [管理] をクリックします。

ドメイン名の左側のナビゲーションウィンドウで、[Back-to-Origin 設定] をクリックします。
Back-to-Origin プロトコル セクションで、Back-to-Origin プロトコル スイッチをオンにします。
静的 Bak-to-Origin プロトコル ダイアログボックスで、ポリシータイプ ([フォロー]、HTTP、または HTTPS) を選択します。
説明HTTP オリジンリクエストの場合、デフォルトでポート 80 が使用されます。HTTP ポート を設定することで、カスタムポートを指定できます。
HTTPS オリジンリクエストの場合、デフォルトでポート 443 が使用されます。HTTPS ポート を設定することで、カスタムポートを指定できます。
カスタムオリジンポート
ポート範囲:HTTP ポート と HTTPS ポート の両方の有効な範囲は 1~65535 です。
クライアントアクセスポートの制限:CDN へのクライアントリクエストは、標準ポート (HTTP 80 および HTTPS 443) のみを使用できます。8080 や 60080 などの非標準ポートを使用して高速化ドメイン名に直接アクセスすることはできません。カスタムオリジンポートは、POP とオリジンサーバー間の接続にのみ使用されます。
ユースケース:オリジンサーバーが 8150 や 60080 などの非標準ポートで HTTP または HTTPS サービスをリッスンしている場合は、次の操作を行う必要があります。
Back-to-Origin プロトコル セクションで、スイッチをオンにします。
オリジンサーバーがリッスンしているプロトコルに合わせて、ポリシータイプを HTTP または HTTPS に設定します。
対応するポートフィールドに、オリジンサーバーがリッスンしているカスタムポート番号を入力します。
重要:オリジンプロトコルポリシーは、オリジンサーバーが使用するプロトコルと一致している必要があります。たとえば、オリジンサーバーに SSL 証明書がないにもかかわらず、オリジンリクエストに HTTPS を設定した場合、接続は失敗します。オリジンサーバーが、指定されたポートで正しいプロトコルを使用してリクエストをリッスンしていることを確認してください。
OK をクリックします。
よくある質問
HTTPS オリジンでの 502 エラー
現象:CDN 経由でウェブサイトにアクセスすると 502 エラーが返されます。
考えられる原因:オリジンサーバーは HTTP のみをサポートしており (SSL 証明書がない、または HTTPS 接続をリッスンしていない)、CDN のオリジンプロトコルポリシーが HTTPS に設定されています。これにより、オリジンサーバーは POP からの HTTPS 接続試行を拒否します。
解決策:
CDN コンソールにログインし、左側のナビゲーションペインで ドメイン名 をクリックします。
対象のドメイン名を見つけ、[管理] をクリックします。
左側のナビゲーションペインで、Back-to-Origin 設定 を選択します。
Back-to-Origin プロトコル セクションで、変更 をクリックします。
ポリシータイプを HTTP に変更し、HTTP ポートを 80 のままにするか (またはカスタムのオリジンポートを指定し)、OK をクリックします。
502 レスポンスがキャッシュされていた場合は、URL をリフレッシュしてキャッシュをクリアしてください。
HTTP オリジンでの 301 リダイレクトループ
現象:CDN で高速化すると、一部の画像やリソースの読み込みに失敗し、ブラウザーのコンソールに 301 リダイレクトエラーが表示されます。
考えられる原因:オリジンサーバーが HTTP から HTTPS へのリダイレクトを強制するように設定されています (たとえば、Baota Panel や WAF の 301 リダイレクトルールなど)。POP が HTTP 経由でポート 80 にオリジンリクエストを送信すると、オリジンサーバーは HTTPS への 301 リダイレクトで応答します。POP はこの 301 応答をキャッシュするため、リダイレクトループが発生します。
解決策:
オリジンポートを 443 に変更し、オリジンプロトコルポリシーを HTTPS に変更してください。
[オリジンプロトコルポリシー] セクションで、変更 をクリックします。
ポリシータイプを HTTPS に変更し、HTTPS ポートを 443 に設定して、OK をクリックします。
301 および 302 レスポンスを無視するようにキャッシュルールを設定してください。
左側のナビゲーションペインで、[キャッシュ設定] を選択します。
ルートディレクトリのキャッシュルールを設定して、301 および 302 レスポンスのキャッシュ期間を 0 秒に設定し、これらのステータスコードのキャッシュを無効にしてください:/ 301=0, 302=0。
ディレクトリリフレッシュを実行して、POP からキャッシュされた 301 レスポンスをクリアしてください。
左側のナビゲーションペインで、[リフレッシュとプリフェッチ] を選択します。
リフレッシュタイプとして、[ディレクトリリフレッシュ] を選択します。http://your-accelerated-domain.com/ を入力し、先頭または末尾にスペースがないことを確認します。[送信] をクリックします。
Baota Panel のようなウェブサイト管理ツールを使用している場合、オリジンサーバーで HTTPS を強制する必要はありません。代わりに、CDN のオリジンプロトコルポリシーが、オリジンサーバーがリッスンするプロトコルと一致していることを確認してください。
CDN は 404 を返すが、オリジンにはアクセス可能
現象:CDN 経由でリソースにアクセスすると 404 エラーが返されますが、オリジンサーバーに直接アクセスすると正常に動作します。
考えられる原因:
オリジンサーバーはポート 80 でのみリッスンし、ポート 443 ではリッスンしていませんが、CDN のオリジンプロトコルポリシーは HTTPS に設定されています。
オリジンホストが正しく設定されていません。オリジンサーバーがドメイン名で指定されている場合、オリジンホストはそのオリジンドメイン名に設定する必要があります。
古いキャッシュがクリアされていません。
解決策:
オリジンサーバーがリッスンするプロトコルとポートを確認してください。オリジンサーバーがポート 80 で HTTP のみをサポートしている場合は、オリジンプロトコルポリシーを HTTP に変更し、ポートを 80 に設定してください。
オリジンサーバーがドメイン名で指定されている場合は、オリジンホストを設定してください。
[デフォルトのオリジンホスト] セクションで、変更 をクリックします。
オリジンホストのスイッチをオンにし、ドメインタイプとしてオリジンドメイン名を選択し、オリジンリストから対応するドメイン名を選択します。
ディレクトリリフレッシュを実行して、古いキャッシュをクリアしてください。
HTTPS オリジンの SSL 証明書要件
はい。この要件は、オリジンリクエストのプロトコルによって異なります。
HTTPS オリジンリクエスト (ポート 443 または他の HTTPS ポート):POP は HTTPS 経由でオリジンサーバーに接続し、その SSL 証明書を検証します。この場合、オリジンサーバーには有効な SSL 証明書が必要です。そうでない場合、接続は失敗します。
HTTP オリジンリクエスト (ポート 80 または他の HTTP ポート):POP は HTTP 経由でオリジンサーバーに接続し、証明書の検証は行いません。この場合、オリジンサーバーに SSL 証明書は必要ありません。CDN コンソールで高速化ドメイン名の証明書を維持するだけで済みます。
推奨:クライアントと POP 間の HTTPS 暗号化のみが必要で、POP とオリジンサーバー間のネットワークが信頼できる場合は、オリジンプロトコルポリシーを HTTP に変更できます。これにより、CDN コンソールで証明書を維持するだけで済むため、オリジンサーバーの管理が簡素化されます。
「フォロー」ポリシーでの失敗
説明:[フォロー]ポリシーを選択すると、オリジンリクエストのプロトコルはクライアントリクエストのプロトコルと一致します。クライアントが HTTP 経由で CDN にアクセスすると、POP はオリジンリクエストに HTTP を使用します。クライアントが HTTPS 経由で CDN にアクセスすると、POP はオリジンリクエストに HTTPS を使用します。オリジンサーバーが HTTPS をサポートしていない場合、クライアントが HTTPS 経由で CDN にアクセスすると、オリジンリクエストは失敗します。
解決策:
オプション 1:オリジンプロトコルポリシーを [フォロー] から HTTP に変更してください。
Back-to-Origin プロトコル セクションで、[変更] をクリックします。
ポリシータイプを HTTP に変更し、[OK] をクリックします。
これにより、クライアントが使用するプロトコルに関係なく、POP は常にオリジンリクエストに HTTP を使用するようになります。
オプション 2:オリジンサーバーに SSL 証明書を設定して、HTTPS サポートを有効にしてください。