オリジンフェッチは、クライアントが Content Delivery Network (CDN) POP にキャッシュされていないリソースをリクエストしたときに発生します。この場合、CDN POP はオリジンサーバーからリソースを取得します。また、CDN POP にプリフェッチタスクをデプロイした際にも発生します。このトピックでは、オリジンフェッチに関するよくある質問に回答します。
HTTPS オリジンフェッチの設定後にウェブサイトへのアクセス時に 502 エラーが発生した場合の対処法
-
ドメイン名が正しく解決されることを確認します。
-
オリジンサーバーにアクセス可能であることを確認します。
-
オリジンサーバーが HTTPS アクセスをサポートしていることを確認します。
-
オリジン IP アドレスが複数のドメイン名にバインドされている場合は、デフォルトのオリジン SNI を構成して、リクエストされたドメイン名を指定します。サーバーは、構成された SNI 名に基づいて、ドメイン名に正しい SSL 証明書を返します。これにより、適切なオリジンフェッチが保証されます。
Common Name ホワイトリストが検証する内容
オリジンフェッチ中に、システムはCDN POP のオリジンリクエスト内の SNI と、オリジンサーバーから返される証明書のコモンネームの値を検証します。 オリジンフェッチを成功させるには、両方が一致する必要があります。
オリジン SNI を変更しない場合、CDN の POP のオリジンリクエストにおける Host 値は、デフォルトで高速化ドメイン名になります。したがって、システムは高速化ドメイン名の証明書のコモンネームを検証します。
HTTPS 経由のオリジンフェッチでカスタムポートを設定する方法
CDN コンソールにログインします。
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
ドメイン名 ページで、対象のドメイン名を見つけ、操作 列の 管理 をクリックします。
ドメインのナビゲーションウィンドウで、Back-to-Origin 設定 をクリックします。
-
Back-to-Origin プロトコル エリアで、Back-to-Origin プロトコル スイッチをオンにします。
-
変更 をクリックします。
-
必要に応じてカスタムポートを構成します。
CDNHTTPS を有効化した後、オリジンフェッチには HTTP か HTTPS のどちらが使用されますか?
CDN での HTTPS 証明書の設定は、オリジンプロトコルとは無関係です。デフォルトでは、オリジンプロトコルは「オリジンサーバーの設定」で設定されたオリジンポートに依存します:
-
オリジンポートが 443 に設定されている場合、オリジンフェッチは HTTPS を使用します。
-
オリジンポートが 80 または別のポートに設定されている場合、オリジンフェッチは HTTP を使用します。
オリジンプロトコルを指定するには、必要に応じてback-to-origin プロトコルポリシーを構成します。
CDN が Object Storage Service (OSS) リソースにアクセスする際に「You have no right to access this object because of bucket acl.」エラーが発生した場合の解決策
OSS バケットがプライベートパターン (不正なトラフィックを防ぐためのアクセス認証) に設定されている場合は、高速化ドメイン名に対して OSS プライベートバケットのオリジンフェッチ 機能を有効にします。これにより、エラーが解決され、プライベート OSS バケットリソースの CDN 高速化が有効になります。
CDN が OSS リソースにアクセスする際に「This request is forbidden by kms.」エラーが発生した場合の解決策
OSS バケットが Key Management Service (KMS) を暗号化に使用している場合、CDN オリジンフェッチロールに KMS キーを使用するための追加の権限を付与します。そうしないと、CDN はこれらのファイルを復号化してアクセスできず、「This request is forbidden by kms.」エラーが発生します。
左側のナビゲーションウィンドウで、
[ロール名] リストで、AliyunCDNAccessingPrivateOSSRole ロールを見つけます。
[権限を付与] をクリックすると、[プリンシパル]が自動的に入力されます。
[アクセスポリシー] で、 [システムポリシー] を選択します。 AliyunKMSCryptoUserAccess を検索してクリックし、[選択されたアクセスポリシー] ボックスに追加します。
[権限を付与] をクリックします。ステータスが [完了] に変わります。
[閉じる] をクリックします。

リソースのリフレッシュ機能を使用します。リフレッシュタスクが完了したら、リソースにもう一度アクセスしてみてください。
CDN を使用して、プライベート OSS バケットからクロスアカウントオリジンフェッチに Security Token Service (STS) を使用するガイド
デフォルトでは、CDN は Security Token Service (STS) の一時セキュリティトークンを使用して、同じアカウント下の非公開 Object Storage Service (OSS) バケットからのみリソースをフェッチします。非公開 OSS バケットからのクロスアカウントオリジンフェッチに STS 一時セキュリティトークンを使用する場合は、OSS でバケット権限付与ポリシーを追加します。次のように構成します。


