vue打包后,接口請求404的完美解決方案


在開發環境中,和后台對接為了解決跨域問題,使用了代理,也就是vue的proxyTable,但是打包放到生產環境中去時,接口請求不到,404,原因是開發環境的代理並不能用到生產環境,但是直接在請求接口是使用服務器地址,可以成功,但是會造成cookie丟失而失去權限驗證

我腦海里出現有兩種辦法,一是使用代理,如何解決接口路徑請求404的問題,二是直接寫請求路徑,如何解決cookie丟失的問題

之前因為cookie丟失,后台忙活了很長時間,好不容易才解決的,加之開發環境下並不會丟失,所以我的想法是繼續使用代理

在網上找了很多辦法,有不少人遇到這個問題,但是基本都沒有詳細的解決方案,好不容易才找到說可以試試用nginx反向代理的方式,OK,開干

首先,前端還是先不改動,接口路徑依然是'/api/...':

登錄服務器,找到nginx的安裝目錄下:cd /etc/nginx

打開配置文件 vi nginx.conf

按  i  修改,新增

        location /api {
                proxy_set_header   Host             $host;
                proxy_set_header   x-forwarded-for  $remote_addr;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_pass http://127.0.0.1:8080; // 接口地址,如果在同一個服務器上,可以直接這樣寫
        }    

保存退出,先esc,然后保存   :wq!

nginx支持熱啟動,所以直接重啟命令    service nginx reload

OK了,nginx反向代理生效了,現在可以繼續用代理,接口請求成功,也不會丟失cookie,喜大普奔!

 

最后整理一下Linux模式下退出編輯模式的操作:

編輯結束,按ESC 鍵 跳到命令模式,然后輸入退出命令:

:w 保存文件但不退出vi 編輯

:w! 強制保存,不退出vi 編輯

:w file 將修改另存到file中,不退出vi 編輯

:wq 保存文件並退出vi 編輯

:wq! 強制保存文件並退出vi 編輯

q: 不保存文件並退出vi 編輯

:q! 不保存文件並強制退出vi 編輯

:e! 放棄所有修改,從上次保存文件開始在編輯

 

希望本文對你有所幫助!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM