一:解决方案
1、 通过jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域资源共享(CORS)
7、 nginx代理跨域
8、 nodejs中间件代理跨域
9、 WebSocket协议跨域
二:使用nginx代理跨域
实现原理类似于Node中间件代理,需要你搭建一个中转nginx服务器,用于转发请求。
使用nginx反向代理实现跨域,是最简单的跨域方式。只需要修改nginx的配置即可解决跨域问题,支持所有浏览器,支持session,不需要修改任何代码,并且不会影响服务器性能。
实现思路:通过nginx配置一个代理服务器(域名与domain1相同,端口不同)做跳板机,反向代理访问domain2接口,并且可以顺便修改cookie中domain信息,方便当前域cookie写入,实现跨域登录。
三:正向代理和反向代理
实践中客户端无法直接跟服务端发起请求的时候,我们就需要代理服务。代理可以实现客户端与服务端之间的通信,我们的Nginx也可以实现相应的代理服务。代理分为正向代理和反向代理,正向代理的代理对象是客户端,反向代理的代理对象是服务端

本文介绍了多种跨域解决方案,重点讲述了如何利用nginx代理来实现跨域,包括反向代理的概念和配置,以及在vuejs开发中如何设置代理。通过nginx配置代理服务器,可以简单有效地解决跨域问题,同时保持session并避免修改代码。
最低0.47元/天 解锁文章

3048

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



