nginx 中的 X-Frame-Options 允许所有域
Posted
技术标签:
【中文标题】nginx 中的 X-Frame-Options 允许所有域【英文标题】:X-Frame-Options in nginx to allow all domains 【发布时间】:2018-05-04 11:22:33 【问题描述】:我使用nginx
作为我网站的反向代理。
我希望能够从 chrome 扩展新标签 html 文件中以 iFrame
打开我的网站。
为此,我需要我的nginx
设置X-Frame-Options
以允许所有域。
根据this answer,如果不设置 X-Frame-Options,所有域都是默认状态。
我的/etc/nginx/nginx.conf
没有在任何地方设置 X-Frame-Options。
然而,当我使用 Postman 检查我的网站响应标头时,它显示了X-Frame-Options = SAMEORIGIN
。
如何删除此设置并将我的网站加载到 chrome new-tab .html 文件中的 iFrame 中?
【问题讨论】:
【参考方案1】:通过更改 /etc/nginx/sites-available/default
文件中的 proxy_hide_header 值来解决它,如下所示:
proxy_hide_header X-Frame-Options;
需要重新启动nginx
以及使用pm2
重新启动我的nodejs
服务器(由于某种原因,直到我对我的服务器进行了一些小改动并重新启动它之后它才起作用)。
【讨论】:
希望这有更好的记录。 我这样做了,虽然在应用程序特定的 conf 文件中不是默认设置,但它不起作用。我在服务器前面有 Cloudflare,这会覆盖标题吗?【参考方案2】:add_header X-Frame-Options "";
在 nginx 1.12 中为我解决了问题。
【讨论】:
【参考方案3】:在/etc/nginx/snippets/ssl-params.conf
中找到此标头
只需要注释掉这一行:
# add_header X-Frame-Options DENY;
【讨论】:
【参考方案4】:我在文件 /etc/nginx/templates/default.conf 中找到了这个头选项。
add_header X-Frame-Options "SAMEORIGIN" always;
我的主要 nginx.conf 文件中提到了 default.conf 文件。
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于nginx 中的 X-Frame-Options 允许所有域的主要内容,如果未能解决你的问题,请参考以下文章
在 Nginx 代理后面时,Keycloak Docker Instace 中的 X-Frame-Options 拒绝加载
http响应头中的X-Frame-Options防止被frame
nginx配置X-Frame-Options允许多个域名iframe嵌套