他の人がObject Storage Service (OSS) でオブジェクトをホットリンクしないようにし、ホットリンクによる高額なトラフィック料金を回避するために、リファラーベースのホットリンク保護を設定できます。 ただし、その後のテストでは、ホットリンク保護設定で期待どおりの結果が得られないことが示されます。 このトピックでは、ホットリンク保護に関するよくある質問について説明します。
Referer設定で期待どおりの結果が得られない場合はどうすればよいですか?
バケットのリファラー設定で期待通りの結果が得られない場合は、ブラウザ設定、バケット設定、Alibaba Cloud CDN設定を確認する必要があります。
項目 | チェック | 解決策 |
ブラウザ | ブラウザがRefererヘッダーの値を変更するか、ヘッダーを特定の値に設定するかどうかを確認します。 WeChat miniプログラムやiframeなどの一部のブラウザ環境では、Refererヘッダーが特定の値に変更または設定される場合があります。 | OSSログまたはブラウザの開発者ツールを使用して、バケット内のデータにアクセスするリクエストの実際のリファラーを確認し、それに応じてリファラーヘッダーを再設定します。 詳細については、「他のWebサイトからのOSSリソースリクエストのリファラーの確認」をご参照ください。 |
OSS | リファラー設定が無効かどうかを確認します。 リファラー設定が無効な場合、OSSはリファラー設定を適用できません。 たとえば、ブラウザからのリクエストは通常、 | Refererヘッダーを正しく設定します。 詳細は、「リファラー設定」をご参照ください。 |
CDN | Alibaba Cloud CDNにリファラー設定がないかどうかを確認します。 Alibaba Cloud CDN側でリファラーを個別に設定せずにOSSへのアクセスを高速化するためにAlibaba Cloud CDNを使用する場合、Alibaba Cloud CDNはキャッシュされたデータを使用して高速化ドメイン名を使用してアクセスを高速化し、OSS側のリファラー設定は無視します。 たとえば、Alibaba Cloud CDNからOSS内のデータにアクセスするための最初のリクエストでは、OSSリファラーホワイトリストにリファラーが含まれ、リクエストされたデータが取得されます。 リクエストにリファラーが含まれていない場合でも、Alibaba Cloud CDNを使用して同じデータにアクセスする2回目のリクエストが成功します。 | Alibaba Cloud CDNをOSSと一緒に使用し、OSSにリファラー設定を適用する場合は、Alibaba Cloud CDNに同じリファラー設定を適用します。 詳細については、「リファラーホワイトリストまたはブラックリストを設定してホットリンク保護を有効化する」をご参照ください。 |
WeChatミニプログラムからOSSデータにアクセスするリクエストに対して、"You are denided by bucket referrer policy" エラーが返されるのはなぜですか。
別のWebページ上のリソースのリクエストがWeChatミニプログラムから行われた場合、リファラーは多くの場合、リクエスト元が配置されているWebページのドメイン名ではなく、WeChatのドメイン名です。 これは、WeChatミニプログラムからのリクエストが、従来のブラウザウェブページではなく、WeChatクライアント環境から送信されるためです。 WeChatミニプログラムからOSSオブジェクトにアクセスするリクエストを許可するには、Refererホワイトリストに * servicewechat.com
を追加します。
リクエスタがブラウザのオブジェクトURLを使用してデータにアクセスすると、「バケットリファラーポリシーによって拒否されます」エラーが返されるのはなぜですか?
要求されたデータを格納するバケットは、空のRefererヘッダーを持つ要求を拒否するように構成され、オブジェクトにアクセスするためにブラウザのアドレスバーでオブジェクトURLが使用される場合、Refererは含まれません。 ブラウザーからのURLベースのアクセスを許可するには、空のRefererヘッダーを持つリクエストを許可するようにバケットを設定します。
Refererリストを設定するときにInlineDataTooLargeエラーが発生するのはなぜですか?
リファラーリストが最大サイズ (20 KB) を超えています。 サイズ要件を満たすには、リスト内のリファラーの数を減らす必要があります。