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/; }