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



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

不安全的JavaScript尝试访问具有URL的帧http://s3.domain.com.s3.amazonaws.com/file.html来自具有URL的帧http://domain.com/.域、协议和端口必须匹配。

我理解原因。我找到了两个变通办法。

  1. 由于我拥有这两个文档,我可以将域属性设置为允许访问,如下所示:document.domain = 'domain.com';
  2. 使用CORS允许访问文档,该文档托管在S3存储桶中

我更愿意这样做,但我在这样做时遇到了困难。我的bucket的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>

然而,这仍然导致了错误。我确信我错过了什么,但不确定是什么。

如有任何建议,我们将不胜感激。谢谢

使用CORS浏览器通常会执行飞行前请求(OPTIONS方法(。可能你也必须允许所有的标题,以确保正确的飞行前请求处理:

<AllowedHeader>*</AllowedHeader>

另请参见此处。

相关内容

  • 没有找到相关文章

最新更新