试图访问iframe内容(不同的子域名); 尝试设置CORS

ona*_*sar 5 security iframe amazon-s3 cross-domain cors

我正在托管一个文件domain.com,其中包含一个托管文档的iframe s3.domain.com.我试图访问iframe的内容,但是我收到以下内容:

不安全的JavaScript尝试从URL为http://domain.com/的框架访问URL为http://s3.domain.com.s3.amazonaws.com/file.html的框架.域,协议和端口必须匹配.

我理解这个的原因.我找到了两个工作.

  1. 由于我拥有这两个文档,我可以设置domain属性以允许访问,如下所示: 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>
Run Code Online (Sandbox Code Playgroud)

但是,这仍然会导致错误.我确定我错过了一些东西,但不确定是什么.

任何意见,将不胜感激.谢谢.

Car*_*lis 2

使用 CORS 浏览器通常会执行预检请求(OPTIONS方法)。也许您还必须允许所有标头以确保正确的预检请求处理:

<AllowedHeader>*</AllowedHeader>
Run Code Online (Sandbox Code Playgroud)

另请参阅此处