我有一个nginx conf文件,其中包含一些我在几个网站上部署的通用行。
add_header X-Frame-Options "SAMEORIGIN";
对于某些网站,我想部署一些自定义行。例如,有几个网站,我想部署以下内容,因为我想允许它们在一些iframe中加载:
add_header X-Frame-Options "";
因此,这些网站的配置文件最终包含以下内容:
# some generic settings
add_header X-Frame-Options "SAMEORIGIN";
...
# some custom settings
add_header X-Frame-Options "";
...
问题是第二个add_header X-Frame-Options
并没有覆盖第一个。我也试着切换设置,我把自定义的放在第一位,然后是通用的。所以conf文件看起来像这样:
# some custom settings
add_header X-Frame-Options "";
...
# some generic settings
add_header X-Frame-Options "SAMEORIGIN";
...
但同样,X-Frame-Options
的设置是"SAMEORIGIN"
,而不是""
。
我的问题是:是否有可能覆盖X-Frame-Options add_header设置(一旦设置)?
我在Ubuntu 18上运行nginx 1.20。
1条答案
按热度按时间p1tboqfb1#
您可以通过设置Content-Security-Policy frame-ancestors指令来覆盖它。对于除旧版浏览器之外的所有浏览器,这将覆盖X-Frame-Options。请尝试
您可能不需要'self'(等同于XFO SAMEORIGIN),您可以不使用它进行测试。