天天看點

Vue項目本地運作正常,打包上傳到伺服器後請求位址404問題

問題解決:

把nginx裡的配置裡的 ​

​proxy_pass http://127.0.0.1:8080;​

​ 改成​

​proxy_pass http://127.0.0.1:8080/;​

多加一個斜杠。

問題分析:

Vue項目打包完之後接口請求不到後端出現404錯誤,這是由于Vue項目打包之後 proxyTable代理配置失效了。

由于Vue項目打包之後代理失敗,那麼就需要使用Nginx進行反向代理請求了,可是還是出現404錯誤。在nginx中配置proxy_pass反向代理時,當在後面的url加上了 “/”,相當于是絕對根路徑,則nginx不會把location中比對的路徑部分代理走;如果沒有 “/”,則會把比對的路徑部分也給代理走。

舉個例子: 通路接口為 /api/menu/getMenuList

當nginx配置檔案proxy_pass後邊的url帶"/"時,代理到後端的路徑為http://127.0.0.1:8080/menu/getMenuList,省略了比對到的/api/路徑;

location /api/ { 
  proxy_pass   http://127.0.0.1:8080/;
}      
location /api/ { 
  proxy_pass   http://127.0.0.1:8080;
}      

繼續閱讀