跨域问题解决方式

207 阅读1分钟

协议,域名,端口任意一个不同就能产生跨域

反向代理是隐藏真实服务器(比如打移动客服),正向代理就是隐藏真实客户端(比如梯子访问)

如何解决跨域?

1 手动关闭浏览器安全限制

2 开发环境反向代理:前端脚手架通常可以配置(配合下面第3点👇)

3 前后端部署到同一个地址下,用子域名区分前后端(正因为如此生产环境不会跨域,所以开发环境要单独处理)

4 生产环境反向代理:在前端服务器端配合nginx,把页面过来的接口请求转发给真正的服务器(浏览器请求时并不需要知道真实的服务器地址,故不会有跨域)

5 后端设置 cors allow

总结:一般还是后端设置跨域。如果用反向代理让所有的请求跑到前端服务器再转发一圈给真实后端,这可能会有造成api变慢,但对用户量不大的项目来说,这种方式比较简单