欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx中proxy_pass的斜杠的兩種方式

 更新時間:2024年10月24日 11:05:53   作者:熱愛編程的申同學  
Nginx的官方文檔將proxy_pass分為不帶URI和帶URI兩種類型,本文就來介紹Nginx中proxy_pass的斜杠的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、proxy_pass的類型

Nginx的官網(wǎng)將proxy_pass分為兩種類型:

  • 一種是只包含IP和端口號的(連端口之后的/也沒有,這里要特別注意),比如proxy_pass http://localhost:8080,這種方式稱為不帶URI方式;
  • 另一種是在端口號之后有其他路徑的,包含了只有單個/的,如proxy_pass http://localhost:8080/,以及其他路徑,比如proxy_pass http://localhost:8080/xxx。這種稱為帶URI方式

(先明白上面的兩種類型,很重要!下面的就按照我的方式,就能看懂了,只要你認真看完這篇文章,保證你對于proxy_pass的斜杠問題很通透!)

2、不帶URI方式列舉說明

我基于上面的兩種類型給大家舉例,為了方便理解,這里解釋一下,咱們只用看proxy_pass中ip+端口后面有沒有/,就可以區(qū)分是不帶URI還是帶URI方式了。例如:http://localhost:8080,這樣的就是典型的不帶URI方式,例如:http://localhost:8080/、http://localhost:8080/aaa、http://localhost:8080/a/b/c,這些統(tǒng)稱為帶URI方式。

2.1、不帶URI方式(例1)

假如客戶端請求為:http://localhost/test1/xxx

location /test1/ {
  proxy_pass http://localhost:8080;
}

來看第一個舉例,proxy_pass中http://localhost:8080沒有后面的/,也就是典型的不帶URI方式,

要得到代理后的請求路徑,記住一句話:不帶URI,保留location后的內(nèi)容,拼接代理路徑后。詳細看下面的步驟拆解

(1)首先保留location后的所有內(nèi)容

http://localhost/test1/xxx

(2)拼接代理路徑后面

最終請求:http://localhost:8080/test1/xxx

2.2、不帶URI方式(例2)

如果上面例1還沒有明白,我們多來幾個例子,保證你能夠看懂這個變換過程,來看例2

假如客戶端請求為:http://localhost/test2/xxx 

location /test2 {
  proxy_pass http://localhost:8080;
}

這次是location中沒有了右/,還是那句話:不帶URI,保留location后的內(nèi)容,拼接代理路徑后。

詳細看下面的步驟拆解:

(1)首先保留location后的所有內(nèi)容

http://localhost/test2/xxx

(2)拼接代理路徑后面

最終請求:http://localhost:8080/test2/xxx

2.3、不帶URI方式總結(jié)

可以看出,不帶URI方式是最簡單的一個,不管loction中帶不帶右/,都是保留直接拼接到proxy_pass的后面。

3、帶URI方式舉例說明

帶URI方式比較難懂,不過,只要按照我給的方法,也是非常的輕松,來看下面的舉例。

還是一句話:帶URI,去除location,剩下右側(cè)內(nèi)容拼接到代理路徑中。

3.1、帶URI方式(例1)

假如客戶端請求:http://localhost/test1/xxx

location /test1/ {
  proxy_pass http://localhost:8080/;
}

詳細看下面步驟拆解:

(1)首先在客戶端請求去除location,獲得剩下的右側(cè)內(nèi)容

http://localhost/test1/xxx         --------------------------->         xxx(獲得的右側(cè)內(nèi)容

(2)拼接到代理路徑中

最終請求:http://localhost:8080/xxx

3.2、帶URI方式(例2)

還是那句話:帶URI,去除location,剩下右側(cè)內(nèi)容拼接到代理路徑中

假如客戶端請求:http://localhost/test2/xxx

 location /test2 {
  proxy_pass http://localhost:8080/;
 }

詳細看下面步驟拆解:

(1)首先在客戶端請求去除location,獲得剩下的右側(cè)內(nèi)容

http://localhost/test2/xxx         -------------------------------->     /xxx(獲得的右側(cè)內(nèi)容

(2)拼接到代理路徑中

最終請求:http://localhost:8080//xxx           http://localhost:8080//xxx(這里就有兩個/了)

3.3、帶URI方式(例3)

還是那句話:帶URI,去除location,剩下右側(cè)內(nèi)容拼接到代理路徑中。

假如客戶端請求:http://localhost/test3/xxx

location /test3/ {
  proxy_pass http://localhost:8080/aaa;
}

詳細看下面步驟拆解:

(1)首先在客戶端請求去除location,獲得剩下的右側(cè)內(nèi)容

http://localhost/test3/xxx      ------------------------>       xxx(獲得的右側(cè)內(nèi)容

(2)拼接到代理路徑中

最終請求:http://localhost:8080/aaaxxx   

http://localhost:8080/aaaxxx(這里aaa和xxx之間沒有/,顯然這是不對的)

3.4、帶URI方式(例4)

還是那句話:帶URI,去除location,剩下右側(cè)內(nèi)容拼接到代理路徑中。

假如客戶端請求:http://localhost/test4/xxx

location /test4/ {
  proxy_pass http://localhost:8080/aaa/;
}

詳細看下面步驟拆解:

(1)首先在客戶端請求去除location,獲得剩下的右側(cè)內(nèi)容

http://localhost/test4/xxx      ------------------------>       xxx(獲得的右側(cè)內(nèi)容

(2)拼接到代理路徑中

最終請求:http://localhost:8080/aaa/xxx   

3.5、帶URI方式(例5)

還是那句話:帶URI,去除location,剩下右側(cè)內(nèi)容拼接到代理路徑中

假如客戶端請求:http://localhost/test5/xxx

 location /test5 {
  proxy_pass http://localhost:8080/aaa;
 }

詳細看下面步驟拆解:

(1)首先在客戶端請求去除location,獲得剩下的右側(cè)內(nèi)容

http://localhost/test5/xxx      ------------------------>       /xxx(獲得的右側(cè)內(nèi)容

(2)拼接到代理路徑中

最終請求:http://localhost:8080/aaa/xxx   

3.6、帶URI方式(例6)

還是那句話:帶URI,去除location,剩下右側(cè)內(nèi)容拼接到代理路徑中。

假如客戶端請求:http://localhost/test6/xxx

 location /test6 {
  proxy_pass http://localhost:8080/aaa/;
 }

詳細看下面步驟拆解:

(1)首先在客戶端請求去除location,獲得剩下的右側(cè)內(nèi)容

http://localhost/test6/xxx      ------------------------>       /xxx(獲得的右側(cè)內(nèi)容

(2)拼接到代理路徑中

最終請求:http://localhost:8080/aaa//xxx

http://localhost:8080/aaa//xxx(這里aaa和xxx之間有兩個/,顯然這是不對的)

3.7、帶URI方式總結(jié)

估計有細心的小伙伴會發(fā)現(xiàn)一個問題,就是當location和proxy_pass其中有一個不帶/(例如例2、例3、例6),最終的請求路徑就不同尋常了,所以這里給大家一個建議,以后寫反向代理時,要不location和proxy_pass 都帶/,要不都不帶,否則就會出現(xiàn)上面例子里的錯誤。

到此這篇關(guān)于Nginx中proxy_pass的斜杠問題實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx proxy_pass斜杠內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 高性能軟件負載OpenResty介紹和安裝使用詳解

    高性能軟件負載OpenResty介紹和安裝使用詳解

    OpenResty是一個基于?Nginx?與?Lua?的高性能?Web?平臺,其內(nèi)部集成了大量精良的?Lua?庫、第三方模塊以及大多數(shù)的依賴項,這篇文章主要介紹了高性能軟件負載OpenResty介紹和安裝,需要的朋友可以參考下
    2023-12-12
  • 詳解nginx服務器綁定域名和設置根目錄的方法

    詳解nginx服務器綁定域名和設置根目錄的方法

    這篇文章主要介紹了詳解nginx服務器綁定域名和設置根目錄的方法,nginx服務器綁定域名以及設置根目錄非常方便,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • nginx升級到支持HTTP2.0的方法示例

    nginx升級到支持HTTP2.0的方法示例

    這篇文章主要介紹了nginx升級到支持HTTP2.0的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Nginx做NodeJS應用負載均衡配置實例

    Nginx做NodeJS應用負載均衡配置實例

    這篇文章主要介紹了Nginx做NodeJS應用負載均衡配置實例,本文直接給出配置實例,需要的朋友可以參考下
    2015-01-01
  • nginx的location配置導致網(wǎng)關(guān)返回404問題

    nginx的location配置導致網(wǎng)關(guān)返回404問題

    這篇文章主要介紹了nginx的location配置導致網(wǎng)關(guān)返回404問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 封80端口應對策略 Nginx反向代理For WIN2003超級傻瓜式配置

    封80端口應對策略 Nginx反向代理For WIN2003超級傻瓜式配置

    封80應對策略,Nginx反向代理ForWIN2003超級傻瓜式配置!
    2010-03-03
  • Nginx搭建高可用的實現(xiàn)

    Nginx搭建高可用的實現(xiàn)

    高可用HA是分布式系統(tǒng)架構(gòu)設計中必須考慮的因素之一,本文主要介紹了Nginx搭建高可用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • nginx 如何實現(xiàn)讀寫限流的方法

    nginx 如何實現(xiàn)讀寫限流的方法

    這篇文章主要介紹了nginx 如何實現(xiàn)讀寫限流的方法的相關(guān)資料,這里提供實例代碼及如何配置,需要的朋友可以參考下
    2016-12-12
  • 使用nginx進行負載均衡的搭建全過程

    使用nginx進行負載均衡的搭建全過程

    負載均衡用于從“upstream”模塊定義的后端服務器列表中選取一臺服務器接受用戶的請求,下面這篇文章主要給大家介紹了關(guān)于使用nginx進行負載均衡的搭建全過程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • nginx全局塊的user指令的實現(xiàn)示例

    nginx全局塊的user指令的實現(xiàn)示例

    user用于配置運行Nginx服務器的worker進程的用戶和用戶組,本文主要介紹了nginx全局塊的user指令的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07

最新評論