5

domain.comでホストされているドキュメントの iframe を含むファイルを でホストしていますs3.domain.com。iframe のコンテンツにアクセスしようとしていますが、次のメッセージが表示されます。

安全でない JavaScriptが、URL http://domain.com/のフレームから URL http://s3.domain.com.s3.amazonaws.com/file.htmlのフレームにアクセスしようとしています。ドメイン、プロトコル、およびポートが一致する必要があります。

この理由は理解できます。私は2つの回避策を見つけました。

  1. 私は両方のドキュメントを所有しているので、次のようにアクセスを許可するようにドメイン プロパティを設定できます。document.domain = 'domain.com';
  2. CORS を使用して、S3 バケット内でホストされているドキュメントへのアクセスを許可します

私はこれを行うことを好みますが、そうするのに問題があります。現在、バケットの CORS 構成ファイルは次のようになっています。

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
    </CORSRule>
</CORSConfiguration>

ただし、これでもエラーが発生します。私は何かが欠けていると確信していますが、何がわからないのですか。

アドバイスをいただければ幸いです。ありがとう。

4

1 に答える 1

2

CORS ブラウザでは、通常、プリフライト リクエスト (OPTIONSメソッド) を実行します。おそらく、適切なプリフライト リクエスト処理を保証するために、すべてのヘッダーも許可する必要があります。

<AllowedHeader>*</AllowedHeader>

こちらもご覧ください

于 2013-01-15T18:13:09.193 に答える