nginx利用反向代理調試后台接口


1、location 支持配置項目的絕對路徑

2、假設我們的后台API地址是以API開頭,location ^~ /api/ 代表nginx將會攔截請求地址中包含"/api/"字樣的請求,其實這就是我們的ajax請求路徑,攔截到請求之后根據寫法會分成兩種情況把這個請求轉發到 下面 proxy_pass 的地址上。

  舉個例子:

a、如上圖,如果proxy_pass 的URL以 / 結尾 ,那么請求轉發的時候 將 不會 帶上 匹配到的 /api/ ,也就是說如果 登錄請求 URL是 localhost:60001/api/user/login,proxy_pass  URL 是 http://a.xx.com:8080/platform/, Nginx將會 把這個請求轉發成 http://a.xx.com:8080/platform/user/login 

b、如果proxy_pass 的URL不以 / 結尾 ,那么請求轉發的時候 將 會帶上 匹配到的 /api/ ,也就是說如果 登錄請求 URL是 localhost:60001/api/user/login,proxy_pass  URL 是 http://a.xx.com:8080/platform/, Nginx將會 把這個請求轉發成 http://a.xx.com:8080/platform/api/user/login 

3、一般我們登錄之后服務器會通過Set-Cookie把token寫回到我們本地,如果不設置 proxy_cookie_path 的話,服務器Set-Cookie命令會失效,本地存不了cookie,從而導致token丟失。

這里proxy_cookie_path有一點需要注意的是 如果 proxy_pass  URL 是 http://a.xx.com:8080/platform/ 這種情況  proxy_cookie_path應該設置成 /platform/ / (注意兩個斜杠之間有空格)。

如果 proxy_pass  URL 是 http://a.xx.com:8080/這種情況  proxy_cookie_path應該設置成 / / (注意兩個斜杠之間有空格)

 

來自:http://blog.csdn.net/cjd6568358/article/details/51871039


免責聲明!

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



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