すべてのプロダクト
Search
ドキュメントセンター

:プライベートOSSバケットback-to-originを有効にした後、Alibaba Cloud Content Delivery Networkアクセラレーションドメイン名にアクセスすると、「バケットの一覧表示が禁止されます」というエラーが表示されます。

最終更新日:Dec 22, 2023

問題の説明

オリジンサーバーがOSSで、バケットがプライベートに設定されている場合、プライベートOSSバケットback-to-originを有効にした後にAlibaba Cloud Content Delivery Networkアクセラレーションドメイン名にアクセスすると、次のエラーが報告されます。

X-Tengine-Error: バケットの一覧表示は禁止されています

原因

Alibaba Cloud Content Delivery Network back-to-origin to private bucketsが有効になっている場合、Alibaba Cloud Content Delivery Networkアクセラレーションドメイン名へのアクセスはGetBucket(ListObjects) リクエストと同等であり、デフォルトでAlibaba Cloud Content Delivery Networkによって拒否されます。 エラーの原因を次に示します。

  • OSS静的Webサイトホスティングは、Alibaba Cloud Content Delivery Networkプライベートバケットと競合します。
  • バケットback-to-origin中に要求されたドメイン名にはindex.html情報が含まれておらず、すべてのAlibaba Cloud Content Delivery Network署名は使用できません。 ただし、実際にOSSにアクセスするファイルはindex.htmlであるため、署名の不一致が発生します。

解決策

プライベートOSSバケットback-to-originを有効にすると、次のようにAlibaba Cloud Content Delivery Networkアクセラレーションドメイン名にアクセスする際にエラーをトラブルシューティングできます。

  1. 静的Webサイトホスティング機能が設定されているかどうかを確認します。
    • OSSの静的Webサイトホスティング機能が設定されている場合、実際の状況に基づいて次のいずれかのソリューションを選択できます。
      • OSSの静的Webサイトホスティング機能を使用する必要がない場合は、OSSの静的Webサイトホスティング機能を無効にします。 詳細については、「静的Webサイトホスティング」をご参照ください。
      • OSSの静的Webサイトホスティング機能を使用する必要がある場合、静的ホームページにアクセスするには、Alibaba Cloud Content Delivery Networkアクセラレーションドメイン名に直接アクセスする必要があります。 OSSをパブリック読み取りに設定し、OSSプライベートバケットback-to-originを無効にする必要があります。 OSSプライベートバケットback-to-originを無効にする方法の詳細については、「OSSプライベートバケットback-to-origin」をご参照ください。
    • OSSの静的Webサイトホスティング機能が設定されていない場合は、次の手順に進んでトラブルシューティングを行います。
  2. Alibaba Cloud Content Delivery Network側で、ルートドメイン名URLを、ルートドメイン名URLを指すファイルに書き換えます。 たとえば、Alibaba Cloud Content Delivery Network高速化ドメイン名www.example.comwww.example.com/index.htmlに書き換えます。 書き換えルールの詳細については、「書き換えの設定」をご参照ください。

適用範囲

  • CDN
  • OSS