我正在尝试iframe我构建的网站(使用Rails)并使用Phusion Passenger部署在AWS上的ubuntu实例上。
我更多地了解它并发现我需要更改我的X帧选项,从“SAME ORIGIN”到“ALLOWALL”的HTTP标头。我已将此行添加到我的config / application.rb文件和config / environments / production.rb
中config.action_dispatch.default_headers.merge!({'X-Frame-Options' => 'ALLOWALL'})
即使这样,当我打开我的网站时,我仍然会在我的网络标题中获得这些设置:
Status:200 OK
Transfer-Encoding:chunked
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN
X-Powered-By:Phusion Passenger 5.0.11
这让我相信在某个地方有一个Phusion Passenger配置文件,我需要更改X-Frame-Options。任何线索或帮助都会很棒,谢谢!
答案 0 :(得分:0)
X-Frame-Options
标头应在您的虚拟主机(通常是Apache或Nginx)中设置。出于安全原因,如果可能的话,仅允许HTTPS白名单域和白名单路径。
<virtualHost *:443>
# ... Host and Passenger configuration ...
<Location "/your-iframable-path">
Header always set X-Frame-Options "ALLOW-FROM https://domain-using-iframe"
</Location>
</virtualHost>
答案 1 :(得分:0)
我有同样的问题。经过长时间的尝试,我找到了解决方案。
乘客为其nginx配置使用模板。启动乘客时,您可以使用--nginx-config-template
参数将模板传递给它。
现在,要为乘客配置X-Frame-Options标头,只需编辑模板文件。在模板文件的http {
块下添加以下行:
add_header X-Frame-Options "SAMEORIGIN";
并确保运行
sudo service passenger restart
要使更改生效。
:)