背景:
有一个页面需要被嵌入到另外一个系统中发现嵌入不进去
浏览器控制台提示报错:
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
参考