情景描述:
原本的vue打包文件是放在.net core 項目的www文件夾下去發布的。這樣運行沒問題,但是公司領導讓服務器單獨部署vue,前后端要完全分離。然后這樣就出問題了,有一個上傳接口的地址一直不對,后來發現請求的ip竟然是vue項目的訪問地址。怎么改都不對。
嘗試:
直接把url拼死,可是后台會驗證用戶是否登錄,這么寫的結果會報用戶未登錄,其實用戶已經登錄,只是這個請求的請求頭沒有攜帶用戶的登錄信息,導致報錯。
原因:
發現文件上傳用的是組件vue-uploader,但是不知道為什么沒有通過生產環境配置的ip地址去請求 ,本地測試因為vue有一個自帶的反向代理配置,所以不會報錯,但是打包的文件不支持反向代理,打包的時候,那段代碼壓根就不會被打包。
就是這段~~這段的意思是攔截所有的接口請求,實際請求的ip是本地的8003端口。
解決方案:
這時候需要自己手動去配置反向代理了。這里我們用的是Nginx做的反向代理。在原本監聽的端口下面加一個Location,這里的配置Location /FileUpload,意思是匹配/FileUploadd的接口,如果是這個接口就反向代理到http://127.0.0.1:8003/FileUpload。這樣就解決了這個問題。