问题背景
部分系统需要集成另一个系统,被集成的系统设置了禁止嵌入
解决方案
通过nginx配置代理,去除禁止嵌入的信息
location / {
proxy_pass http://baidu.com/;
# 修改响应头
proxy_hide_header X-Frame-Options;
proxy_hide_header Content-Security-Policy;
}
这两个被移除的头是干什么的?
X-Frame-Options: 这是一个安全头,用来控制当前网页是否可以被嵌入到 <frame>,<iframe>, <embed> 或 <object> 中。例如,设置为 SAMEORIGIN 可以防止网站被别的域名嵌套(点击劫持攻击)。
Content-Security-Policy: 这是一个更强大和现代的安全头,用于防止跨站脚本(XSS)等攻击。它可以精细地控制浏览器允许加载哪些来源的资源(如JS、CSS、图片、字体等)。
解决ws无法被代理的问题
nginx配置中添加
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
全文
location /api2 {
# 代理到后端HTTPS服务(需指定https://协议)
proxy_pass https://172.16.10.11:8006/api2;
# 必须配置的头部信息,确保后端服务正确识别请求
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
# 其他代理配置(如超时时间)
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
}
2623

被折叠的 条评论
为什么被折叠?



