折腾

解决iframe嵌套Halo被拒绝

解决iframe嵌套Halo被拒绝

起因

这两天在折腾博客的时候,使用iframe嵌套了一个主站的网页,当然在主站上没有出现任何问题,但是使用CDN绑定的另一个域名访问连接请求被拒绝了:

打开控制台一看,发现如下报错:

Refused to display 'https://991198.xyz/' in a frame because it set 'X-Frame-Options' to ''SAMEORIGIN''

上网查了下,需要重新设置X-Frame-Options 来解决这个问题,那就试试看吧。

解决方案

于是我按照网上的做法,在nginx中重新添加了X-Frame-Options ,然而网页又报错了:

Refused to display 'https://991198.xyz/' in a frame because it set multiple 'X-Frame-Options' headers with conflicting values ('ALLOW-FROM https://556799.xyz, SAMEORIGIN'). Falling back to 'deny'.

为啥会冲突呢,我不记得我有预先设置过这玩意啊?排查了一下,发现是Halo源码中把这个值设定成了SAMEORIGIN ,emmm总不能去docker里面改源码吧,那也太麻烦了。

好在查询资料时发现nginx可以重置X-Frame-Options ,这下不用折腾了,这里以nginx manager为例。

在Custom locations选项中添加如下配置:

proxy_hide_headerX-Frame-Options;                                              # 表示重置headerX-Frame-Options
add_header Content-Security-Policy "frame-ancestors 'self' https://556799.xyz;"; # 表示允许同源,以及https://556799.xyz 进行iframe嵌套

大功告成!

评论

10:24:00
8月27日, 2026, 周三
system_stats.sh
处理器 CPU82%
运行内存 RAM12.4G / 16G
网络吞吐 Network5.2 Mbps · 4g

精选图库

JacyLunatic

JacyLunatic

只争朝夕

92 篇创作

实时天气

24°
本地
28° / 24°
97% 12 km/h 体感 29°
逐小时
多日预报

创作活跃度

萌ICP备20241011号
本站已加入BLOGS·CN