文章

解决设置X-Frame-Options后Response有多个值

当你在Nginx配置中设置了X-Frame-Options,但发现Response中出现了多个值时,可以通过以下步骤解决:

步骤:

  1. 隐藏原有的X-Frame-Options头: 使用proxy_hide_header X-Frame-Options;来隐藏上游服务器传递的X-Frame-Options头。

  2. 重新设置X-Frame-Options头: 使用add_header X-Frame-Options SAMEORIGIN always;来添加新的X-Frame-Options头,并确保其总是生效。

  3. 修改Nginx配置: 在对应的location块中添加上述配置。例如:

    1
    2
    3
    4
    5
    
    location /xxx {
        proxy_hide_header X-Frame-Options;
        add_header X-Frame-Options SAMEORIGIN always;
        proxy_pass  http://xxxxxxxxxx/swagger-ui.html;
    }
    
  4. 重启Nginx: 保存配置后,重启Nginx服务以使更改生效。

  5. 刷新页面: 刷新浏览器页面,检查Response头,此时应只包含SAMEORIGIN值,Deny值将被移除。

本文由作者按照 CC BY 4.0 进行授权