クロスドメインアクセスとはHTTPリクエストによって、1つのドメインから別のドメインのリソースをリクエストすることであり、プロトコル、ドメイン名、ポートのうちいずれかが異なる場合は、すべて異なるドメインとみなされます。コンソールでの操作手順については、クロスドメインアクセスの設定またはクロスドメインアクセスのベストプラクティスドキュメントをご参照ください。
アクセスが拒否された原因として考えられるものは次のとおりです。
クロスドメインの設定を行い、Originを*
に設定します。詳細については、クロスドメインアクセスの設定のベストプラクティスドキュメントをご参照ください。
下図に従ってクロスドメインルールを設定し、ブラウザの切り替えを試し、実行可能かどうかのテストを行ってください。詳細については、クロスドメインアクセスの設定をご参照ください。
使用しているドメイン名がCDNアクセラレーションドメイン名の場合は、CDNコンソールでクロスドメインの設定を行ってください。詳細については、HTTPレスポンスヘッダーの設定のドキュメントをご参照ください。
コンソールはセカンドレベルドメイン名のあいまい一致をサポートしています。
次の手順に従ってチェックを実施してください。
curl -Lvo /dev/null "<オブジェクトアドレス>" -H "origin:<ドメイン名>"
です。業務の状況に応じて<>の中の値を置き換えてください。例えば、curl -Lvo /dev/null "https://bucketname-1250000000.cos.ap-guangzhou.myqcloud.com/test.png" -H "origin:https://www.baidu.com"
などとします。ステータスコード200が返された場合、ルールは有効になっています。ブラウザキャッシュを削除してからリトライしてください。クロスドメインルールはIPアドレスの形式での設定をサポートしておらず、ドメイン名形式のみサポートしています。詳細な説明については、クロスドメインアクセスの設定のドキュメントをご参照ください。
CDNを使用してCOSにアクセスした際にクロスドメインエラーとなった場合は、HTTPレスポンスヘッダーの設定のドキュメントを参照し、CDNコンソールでクロスドメインを許可するよう設定してください。
クロスドメインアクセスを設定しているかどうかをチェックし、正しく設定されていれば、ブラウザキャッシュをクリアしてからリトライすることをお勧めします。それでも解決できない場合は、クロスドメインアクセスルールにmax-age=0を設定してみてください。クロスドメインアクセスの設定ガイドについては、クロスドメインアクセスの設定をご参照ください。
この記事はお役に立ちましたか?