同Nginx服务器下iframe无法调用Odoo,X-Frame-Options显示Deny求助
解决Odoo在同服务器iframe中无法加载的问题
问题核心是Odoo自身会主动发送X-Frame-Options: DENY响应头,这个头会直接覆盖你在Nginx里配置的SAMEORIGIN,所以浏览器最终读取到的是Deny规则。你可以通过以下两种方式解决:
方案1:修改Odoo配置,禁用自带的X-Frame-Options头
找到你的Odoo配置文件(通常是odoo.conf或odoo-server.conf),添加一行配置:
http_header_xframe_options = False
保存后重启Odoo服务,再重启Nginx。此时Nginx配置的SAMEORIGIN头会正常生效。
方案2:在Nginx中覆盖Odoo的响应头
如果不想改动Odoo配置,可以在Nginx的server块里调整配置顺序,先隐藏Odoo发送的Deny头,再添加自定义规则:
proxy_hide_header X-Frame-Options; add_header X-Frame-Options SAMEORIGIN always;
修改完成后重启Nginx服务即可。
验证方法
打开浏览器开发者工具(F12),切换到「网络」标签页,刷新页面后查看Odoo请求的响应头,确认X-Frame-Options的值为SAMEORIGIN就说明配置生效了。
内容的提问来源于stack exchange,提问作者code_explorer
相关产品推荐
相关产品推荐

