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

在開發環境中,和後臺對接爲了解決跨域問題,使用了代理,也就是vue的proxyTable,可是打包放到生產環境中去時,接口請求不到,404,緣由是開發環境的代理並不能用到生產環境,可是直接在請求接口是使用服務器地址,能夠成功,可是會形成cookie丟失而失去權限驗證前端

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

以前由於cookie丟失,後臺忙活了很長時間,好不容易纔解決的,加之開發環境下並不會丟失,因此個人想法是繼續使用代理nginx

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

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

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

打開配置文件 vi nginx.confcookie

按  i  修改,新增spa

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 reloadcode

OK了,nginx反向代理生效了,如今能夠繼續用代理,接口請求成功,也不會丟失cookie,喜大普奔!

 

最後整理一下Linux模式下退出編輯模式的操做:

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

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

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

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

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

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

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

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

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

 

但願本文對你有所幫助!

相關文章
相關標籤/搜索