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

:プライベートOSSバケットへのアクセスが有効になった後、アクセラレーションドメイン名宛てのリクエストが「バケットのリストを禁止されています」というエラーメッセージをトリガーするのはなぜですか。

最終更新日:Feb 22, 2024

Alibaba Cloud CDNを使用してOSSバケットからの静的コンテンツ配信を高速化する場合、プライベートOSSバケットへのアクセスを有効にし、OSS上の静的Webサイトをホストする必要があります。 このトピックでは、このシナリオで発生する可能性のあるエラーを修正する方法について説明します。

背景情報

課題

静的webページで構成されるwebサイトはプライベートOSSバケットでホストされ、Alibaba Cloud CDNにはプライベートOSSバケットへのアクセス許可が付与されます。

ユーザーがWebサイトhttps://example.com/ のホームページhttps://example.com/index.htmlにアクセスしようとしますが、Alibaba Cloud CDNは403 Forbiddenエラーメッセージをユーザーに返し、「このサーバーのURLにアクセスする権限がありません」と表示します。 ブラウザのデバッグ情報には、次の応答メッセージが表示されます。x-tengine-error: バケットの一覧表示は禁止されていますFAQ

原因

プライベートOSSバケットへのアクセスは、OSSでホストされているWebサイトのデフォルトのホームページの設定と競合します。

説明 静的Webサイトホスティングを設定するときは、Webサイトドメイン名のデフォルトのホームページをindex.htmlなどの特定のファイルに設定する必要があります。 https://example.com/ などのWebサイトドメイン名への匿名リクエストは、https://example.com/index.htmlなどのデフォルトのホームページに自動的にリダイレクトされます。 Alibaba Cloud CDNがプライベートOSSバケットにアクセスできるようにすると、高速化ドメイン名からOSSバケットへのback-to-originリクエストは、ルートディレクトリ宛ての匿名リクエストと見なされます。 この場合、CDNはリクエストを拒否します。 エラーメッセージ「バケットの一覧表示は禁止されています」がトリガーされます。

解決策

  • 解決策1: 静的Webサイトホスティング機能が不要な場合は、無効にします。 静的Webサイトホスティングを無効にするには、関連する設定をクリアします。 詳細については、「概要」をご参照ください。
  • 解決策2: 静的Webサイトホスティングを有効にする必要がある場合は、URI書き換えルールを作成して、リクエストがルートディレクトリにアクセスしないようにします。

    URI書き換えルールで、書き直すパス^/$ に、変更後のパス/index.htmlに、フラグ[リダイレクト] に設定します。 URI書き換えルールが設定されると、Alibaba Cloud CDNはHTTP 302ステータスコードを返し、www.example.com/ www.example.com/index.html向けのユーザーリクエストをリダイレクトします。 詳細については、「アクセスURL書き換えルールの作成」をご参照ください。