我对AWS并不熟悉,这可能与站点结构或不同的网络托管商之间的复杂性有关。
我过去使用HostMonster托管网站,并能够允许从另一个域引用该站点中的iFrame。这是通过向x-frame-options添加ALLOW-FROM选项实现的。
该网站最近移至AWS。它正在使用S3、EC2和Elastic Beanstalk。现在,当我尝试嵌入该网站时,我会收到以下错误消息:
拒绝在框架中显示 'http://example.com',因为它将“X-Frame-Options”设置为'SAMEORIGIN'。
看起来很明显我需要设置此选项,但我不清楚如何实现。
我找到了这个寻求支持X-Frame-Options的论坛。 AWS支持团队的回复确认,S3目前不支持X-Frame-Options。
这是否意味着我的情况不妙还是我走错了路?
我还查阅了aws CORS header setting docs,尝试允许我嵌入的来源,甚至尝试允许所有来源进行测试。此外,我发现了GitHub for making S3 files public。我实施了他们设置的策略和配置,但仍然遇到相同的错误。
如果我漏掉了重要的任何内容,请问我。就像我说的,我非常新于Web开发,并且仍在摸索中。 编辑: 正如所指出的那样,返回具有X-Frame-Options标头的响应确实很有趣。当我直接加载页面时,这是我收到的完整响应。
连接:保持连接
内容类型:文本/HTML; 字符集=utf-8
日期:2016年6月19日,格林威治标准时间00:31:37
服务器:Apache/2.4.16 (Amazon) OpenSSL/1.0.1k-fips mod_wsgi/3.5 Python/2.7.10
传输编码:分块
X-Frame-Options:SAMEORIGIN
Refused to display 'http://example.com' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
这个错误似乎意味着标头已经被设置了,所以第一个问题是“真的吗?”和“怎么做到的?” - Michael - sqlbot