为了账号安全,请及时绑定邮箱和手机立即绑定

这种场景下用什么解决跨域?

这种场景下用什么解决跨域?

慕仙森 2018-09-24 17:13:04
问题:目前的项目是这样的,比如本机地址是:192.168.1.101,后台地址是:192.168.1.105:9006,然后前端项目跑起来的地址是192.168.1.102:8008,项目当中使用 axios,baseUrl = 192.168.1.105:9006所以每次发起请求就跨域了,不知道这种情况是怎么解决跨域问题的?
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

其实跨域最常用的解决方式就两种

1 . CORS 后端设置 header

Access-Control-Allow-Origin: * 允许哪些域名 (*所有)
Access-Control-Allow-Headers: X-Requested-With 允许哪些请求头
Access-Control-Allow-Methods: PUT,POST,GET,DELETE,OPTIONS 允许哪些方法 (非简单请求会有option)
后台配置完之后 axios
baseUrl = 后端服务器地址 (开发模式)
baseUrl = 线上服务器地址 (生产模式)

2 . 代理 
跨域是浏览器限制的 后端直接请求并不限制 
所以可以 浏览器 -> 代理服务器 -> 后端 -> 代理服务器 -> 浏览器
react vue脚手架 都是 用的 webpack-dev-server 其内部都是用 http-proxy-middleware
你也可以自己用node简单的代理 http http-proxy-middleware http-proxy 都可以
也可以用 nginx 
配置完代理之后 axios
baseUrl = 代理服务器地址 (开发模式)
baseUrl = 线上服务器地址 (生产模式)


查看完整回答
反对 回复 2018-09-24
  • 1 回答
  • 0 关注
  • 697 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信