iframe页面嵌套问题提示X-Frame-Options问题

背景:

有一个页面需要被嵌入到另外一个系统中发现嵌入不进去

浏览器控制台提示报错:

Refused to display 'http://10.45.80.3/portal/iframe.html' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

分析:

需要嵌入的页面加了跨域的限制

解决办法:

在nginx反向代理中取消跨域限制

新增配置

proxy_hide_header X-Frame-Options;
add_header X-Frame-Options SAMEORIGIN always;

 location ^~ /portal {
        proxy_hide_header X-Frame-Options;
        add_header X-Frame-Options SAMEORIGIN always;

        proxy_pass http://172.16.17.82:8080/portal;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
 

重启nginx,解决ok

参考

设置跨域目的,防止脚本跨域攻击

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

发布了87 篇原创文章 · 获赞 186 · 访问量 64万+

猜你喜欢

转载自blog.csdn.net/qq_33326449/article/details/103278087