vue-cli项目解决开发环境和线上环境的跨域配置问题

前端axios请求api跨域接口
解决办法:

  1. npm start 本地开发环境解决:
    在webpack配置文件 /config/index.js 里找到 proxyTable 开启代理 changeOrigin:true,
proxyTable: {
      '/api':{
        target:'http://xx.xx.xx.xx:5568',
        changeOrigin:true,
        pathRewrite:{
            '^/api':'/api'
        }
      }
    },
  1. npm run build 把 dist 放线上后解决:
    nginx 的 配置文件 xx.conf 的 server {} 里加如下:
location /api/ {
        # 把 /api 路径下的请求转发给真正的后端服务器
        proxy_pass http://xx.xx.xx.xx:5568;

        # 把host头传过去,后端服务程序将收到your.domain.name, 否则收到的是localhost:8080
        proxy_set_header Host $http_host;

        # 把cookie中的path部分从/api替换成/service
        proxy_cookie_path /api /;

        # 把cookie的path部分从localhost:8080替换成your.domain.name
        proxy_cookie_domain localhost:80 http://xx.xx.xx.xx:5568;
    }

重新启动一下 nginx
/etc/init.d/nginx reload
aip跨域访问ok

参考链接:
https://www.cnblogs.com/xiangsj/p/8905648.html

你可能感兴趣的:(前端技术积累)