Vue Nginx反向代理配置 解決生產環境跨域

Vue本地代理舉例:javascript

module.exports = {
  publicPath: './',
  devServer: {
    proxy: {
      '/api': {
        target: 'https://movie.douban.com',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      },
      '/bpi': {
        target: 'https://cdnopenapialifc.agaege.com/',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          '^/bpi': ''
        }
      }
    }
  },
  pwa: {
    iconPaths: {
      favicon32: 'favicon.ico',
      favicon16: 'favicon.ico',
      appleTouchIcon: 'favicon.ico',
      maskIcon: 'favicon.ico',
      msTileImage: 'favicon.ico'
    }
  }
}

  

Vue 本地代理編輯好後,能實現跨域獲取接口數據,可是打包後在生產環境接口報錯404,要怎樣才能解決生產環境跨域問題呢?
在開發環境配置好本地代理後,使用Nginx反向代理解決生產環境跨域問題!java

一、修改Nginx的配置文件 xxx.conf

location /api {
   rewrite  ^.+api/?(.*)$ /$1 break; //可選參數,正則驗證地址
   include  uwsgi_params; //可選參數,uwsgi是服務器和服務端應用程序的通訊協議,規定了怎麼把請求轉發給應用程序和返回
   proxy_pass   https://www.xxxxx.cn:444; #此處修改成本身的請求地址,必填
}
###api爲本地開發時,在config/index.js中的proxyTable: {}配置的請求代理
###根據具體狀況修改

  二、記得重啓Nginx服務,使修改生效api

 

舉例:跨域

location /api {
rewrite ^.+api/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass https://movie.douban.com;
}

location /bpi {
rewrite ^.+bpi/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass https://cdnopenapialifc.agaege.com/;
}
相關文章
相關標籤/搜索