問題描述:通過打包后nginx 轉發造成502 404
由於我們使用的是ip 對外開放了公網用於客戶演示場景使用 項目訪問路徑為:http://ip:90/v42d26/#/
服務器為windows 服務 后端打包 fis_42.jar 直接采用java -jar fis_41.jar 方式啟動 端口號為:8068
前端 vue 采用npm run build 打包 將打包好的dist 文件夾放在 E:/run_fisv42_d1/dist
vue 打包配置如下:
assetsPublicPath:'/' 修改assetsPublicPath:'./' 修改為相對路徑
服務器部署結構:
由於對外公網地址通過ip:v42d26 方式訪問 問題1: 502 nginx.conf 配置如下
由於我采用的是api代理方式那么公網對外訪問時候多了v42d26/api/方式 這時候多了項目名稱,這時候發送請求的時候
請求出現502錯誤 我解決的方案是 將所有請求都添加上v42d26/ 添加方式在vue 攔截器請求時候拼接上
如下圖:
這樣請求地址就對了 http://ip:90/v42d26/api/user/login 這時候502錯誤就解決了
問題二:404 當解決完上面的配置502報錯問題后 隨之而來的是404
后端的接口服務提供的接口訪問方式是:/user/login
由於請求的路徑為:http://ip:90/v42d26/api/user/login 隨之而來的后端訪問請求路徑無法找到?404???
修改了nginx.conf 配置文件 將請求的項目名稱進行截取 這樣404問題就解決了