iframe 跨域问题

有一个需求,在本地项目页面中加载iframe,然后这个iframe需要加载第三方的页面。因为涉及到跨域了而且第三方页面用到了cookie,导致页面无法正常展示。
可以采用nginx代理本地项目和第三方请求的方式,绕过浏览器跨域限制。

server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass http://第三方ip:10001;
        }
          #本地项目,上下文为hzj
          location /hzj/  {
            proxy_pass http://localhost:8081/;
         }
        
    }

这样,本地项目hzj的请求都转发到本地8081端口,其他请求转发到第三方。
还有个坑,由于第三方页面使用了带下划线的header,nginx代理的时候会忽略掉带下划线的参数,因为带下划线的不符合http规范。可以做如下配置。

# 保留下划线
underscores_in_headers on;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。