最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Nginx proxy_pass的一個/斜杠引發(fā)的血案

 更新時間:2020年11月10日 15:42:34   作者:chiweitree  
這篇文章主要介紹了詳解Nginx proxy_pass的一個/斜杠引發(fā)的血案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

背景

一個nginx的server模塊下需要proxy到兩個server,所以就通過location的不同路徑來區(qū)分轉(zhuǎn)發(fā)到不同的服務(wù)器上。

一開始是這么寫的

location / {
   proxy_pass http://server1/;
}

location /index {
   proxy_pass http://server2/;
}

但是忘記了server1上有個服務(wù)路徑是/indexNew,結(jié)果就被proxy到了server1,出現(xiàn)404問題,然后緊急修改配置如下:

location /indexNew {
   proxy_pass http://server1/;
}

location / {
   proxy_pass http://server1/;
}

location /index {
   proxy_pass http://server2/;
}

問題現(xiàn)象

結(jié)果請求是到了server1了,但是錯誤變成,POST not supported

{
	"status": 500,
	"message": "http://172.28.72.117/-Request method 'POST' not supported",
	"result": {}
}

這是當(dāng)時應(yīng)用的返回錯誤,查看nginx也沒有報錯,很奇怪,看了代碼里/indexNew的確是POST方法啊,為啥報錯不支持呢。

首先這里補充下location各種寫法在nginx里的匹配順序:

分析

nginx日志也沒有報錯,就嘗試抓包,從nginx到應(yīng)用的包

通過tcpdump命令抓包

tcpdump -w dataAll_normal.pcap -i eth0 -s0 port 8888

類似上述命令抓包,然后通過wireshark看,發(fā)現(xiàn)壓根沒搜索到/indexNew相關(guān)的http流量包。

嘗試修改location如下

location /indexNew {
   proxy_pass http://server1;
}

location / {
   proxy_pass http://server1/;
}

location /index {
   proxy_pass http://server2/;
}

區(qū)別僅僅在于/indexNew的proxy_pass最后一個/斜杠去掉了,繼續(xù)抓包,發(fā)現(xiàn)可以搜索到/indexNew的包

說明此次修改正確了。

繼續(xù)改回錯誤的,嘗試抓包,還是沒能搜索到/indexNew的包,然后通過IDE遠程debug應(yīng)用

發(fā)現(xiàn)到了應(yīng)用里的URL壓根也沒有/indexNew,那當(dāng)然在wireshark包里搜不到了。。。

是因為nginx轉(zhuǎn)發(fā)應(yīng)用的時候,訪問路徑就只有 / 了。

而工程中請求路徑為 / 的接口的確是GET方法

詳細看下location中proxy_pass的語法,的確是這樣,proxy_pass最后有/,會把匹配location里的路徑去掉,截取后面的URL PATH進行轉(zhuǎn)發(fā)。

所以這里一定要注意proxy_pass最后一個/的含義作用,要慎用,它會改變路徑請求信息,而不是100%的信息轉(zhuǎn)發(fā)。

到此這篇關(guān)于詳解Nginx proxy_pass的一個/斜杠引發(fā)的血案的文章就介紹到這了,更多相關(guān)Nginx proxy_pass斜杠內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • centos7編譯安裝nginx的方法步驟

    centos7編譯安裝nginx的方法步驟

    這篇文章主要介紹了centos7編譯安裝nginx的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Nginx + Tomcat實現(xiàn)請求動態(tài)數(shù)據(jù)和請求靜態(tài)資源的分離詳解

    Nginx + Tomcat實現(xiàn)請求動態(tài)數(shù)據(jù)和請求靜態(tài)資源的分離詳解

    這篇文章主要給大家介紹了關(guān)于Nginx + Tomcat實現(xiàn)請求動態(tài)數(shù)據(jù)和請求靜態(tài)資源的分離的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • nginx內(nèi)存池源碼解析

    nginx內(nèi)存池源碼解析

    內(nèi)存池是在真正使用內(nèi)存之前,預(yù)先申請分配一定數(shù)量的、大小相等(一般情況下)的內(nèi)存塊留作備用,接下來通過本文給大家介紹nginx內(nèi)存池源碼,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-11-11
  • nginx+lua(openresty)實現(xiàn)黑/白名單權(quán)限控制的示例

    nginx+lua(openresty)實現(xiàn)黑/白名單權(quán)限控制的示例

    本文介紹了如何使用Openresty進行權(quán)限控制和灰度發(fā)布,具體通過定時器定期更新黑名單數(shù)據(jù),進行用戶過濾和權(quán)限管控,具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • 如何在centos7中安裝nginx

    如何在centos7中安裝nginx

    近期做項目用到了nginx,所以自己動手來在Centos7上安裝nginx,以下是安裝步驟。
    2018-09-09
  • Kubernetes之安裝nginx-controller作為統(tǒng)一網(wǎng)關(guān)方式

    Kubernetes之安裝nginx-controller作為統(tǒng)一網(wǎng)關(guān)方式

    這篇文章主要介紹了Kubernetes之安裝nginx-controller作為統(tǒng)一網(wǎng)關(guān)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • FastDFS及Nginx整合實現(xiàn)代碼解析

    FastDFS及Nginx整合實現(xiàn)代碼解析

    這篇文章主要介紹了FastDFS及Nginx整合實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Linux系統(tǒng)下nginx日志每天定時切割的腳本寫法

    Linux系統(tǒng)下nginx日志每天定時切割的腳本寫法

    本篇文章給大家分享使用Linux系統(tǒng)自帶的命令logrotate對Nginx日志進行切割的方法,對nginx日志切割腳本感興趣的朋友一起學(xué)習(xí)吧
    2016-11-11
  • 關(guān)于Nginx跨域問題及解決方案(CORS)

    關(guān)于Nginx跨域問題及解決方案(CORS)

    文章主要介紹了跨域資源共享(CORS)機制及其在現(xiàn)代Web開發(fā)中的重要性,通過Nginx,可以簡單地解決跨域問題,適合新手學(xué)習(xí)和應(yīng)用,文章詳細講解了CORS的基本概念、常見的跨域場景、Nginx如何解決CORS問題,以及如何配置Nginx來處理CORS請求
    2025-02-02
  • Linux Nginx VPS下簡單解決CC攻擊

    Linux Nginx VPS下簡單解決CC攻擊

    Linux Nginx VPS下簡單解決CC攻擊,使用Nginx與php的朋友可以參考下。
    2010-12-12

最新評論

青冈县| 广灵县| 临猗县| 河南省| 陆川县| 安顺市| 扶绥县| 宁德市| 乡宁县| 沽源县| 福泉市| 田东县| 鸡东县| 民勤县| 永寿县| 文山县| 石泉县| 南澳县| 万年县| 赤峰市| 米易县| 富阳市| 金阳县| 乐安县| 深州市| 曲靖市| 郯城县| 新绛县| 鄂州市| 贺兰县| 乐昌市| 彭阳县| 临海市| 德江县| 临漳县| 海盐县| 鄄城县| 佛冈县| 嘉黎县| 宝坻区| 安吉县|