proxy_pass轉發路徑

一、引言

在nginx中配置proxy_pass時,proxy_pass后面的路徑最后面加“/”和不加“/”會有所區別。加“/”時,nginx不會代理location部分,不加“/”時,nginx會同時代理location部分。下面通過實驗來證明。

二、實驗

實驗環境簡要說明:

    node1為httpd服務器(172.16.47.101)

    node2為客戶端(172.16.47.102)

    node3為nginx代理服務器,自身不對外提供web服務(172.16.47.103)

以下四個例子都是通過http://172.16.47.103/admin/index.html這個地址來訪問。

node1網站目錄結構如下:每個目錄下面的index.html頁面的內容都是該頁面相對于/var/www/的路徑。

[root@node1 /var/www/html]# tree
.
├── abc
│   ├── admin
│   │   └── index.html
│   └── index.html
├── abcindex.html
├── admin
│   └── index.html
└── index.html

3 directories, 5 files
[root@node1 /var/www/html]#

1.第一種情況:

location /admin/ {
       proxy_pass      http://172.16.47.101/;
    }

會被代理到http://172.16.47.103/index.html,訪問結果如下

blob.png

2.第二種情況:(注意,相對于第一種情況,路徑后面少了一個“/”)

 location /admin/ {
        proxy_pass      http://172.16.47.101;
    }

會被代理到http://172.16.47.103/admin/index.html,訪問結果如下

blob.png

3.第三種情況:

location /admin/ {
        proxy_pass      http://172.16.47.101/abc/;
    }

會被代理到http://172.16.47.103/abc/index.html,訪問結果如下

blob.png

3.第四種情況:(注意,相對于第三種情況,路徑后面少了一個“/”)

location /admin/ {
        proxy_pass      http://172.16.47.101/abc;
    }

會被代理到http://172.16.47.103/abcindex.html,訪問結果如下

blob.png

以上,proxy_pass后面的路徑最后面加“/”和不加“/”在寫法上,差別很小,很多人沒寫時會沒留意到,但帶來的結果卻大不一樣,在使用中千萬要留心。

原創文章,作者:Lurker,如若轉載,請注明出處:http://www.www58058.com/66487

(1)
LurkerLurker
上一篇 2017-01-12
下一篇 2017-01-13

相關推薦

  • 加密與CA

    一次加密通訊流程: 1、生成數據 2、用單向加密數據生成特征碼 3、用自己的私鑰加密特征碼放在數據后面 4、生成臨時會話密鑰加密特征碼和數據 5、用對方的公鑰加密臨時密鑰 2、私有CA 構建私有CA     1、生成私鑰     2、自簽署證書 給節點發放證書     …

    Linux干貨 2017-02-13
  • N25_第六周

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]+@#&@g 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; %s@^[[:spac:]]+@@g…

    Linux干貨 2017-02-13
  • 學習目標

    先把落下的課補上……

    Linux干貨 2016-10-31
  • Linux系統自動化安裝基礎

    Linux系統自動化安裝基礎 安裝程序CentOS系統安裝系統啟動流程:bootloader–>kernel(initramfs)–>rootfs–>/sbin/init注意:安裝過程中與啟動過程中的文件不同 anaconda系統安裝程序tui: 基于圖形庫curses的文本窗口gui:圖形窗口 安裝程序…

    Linux干貨 2016-10-08
  • 用戶和組命令及相關配置文件總結

    用戶和組相關的配置文件 目錄 一、創建用戶、組和權限相關命令… 1 1、useradd 帳號建立… 1 2、usermod 用戶屬性更改… 2 3、Passwd. 2 4、userdel 2 6、chfn. 3 7、Chsh. 3 8、finger. 3 9、groupadd. 3 10、Groupdel 3 11、gro…

    Linux干貨 2016-10-24
  • PS進程命令常用選項參數詳解

    PS命令是什么 ps命令能夠給出當前系統中進程的快照。它能捕獲系統在某一時間的進程狀態。如果想要不斷更新查看這個狀態,可以配合watch命令或使用top命令。ps命令支持三種使用的語法格式 UNIX 風格:選項可以組合在一起,并且選項前必須有”-“連字符。 BSD 風格 :選項可以組合在一起,但是選項前不能有”-&#822…

    2017-07-09
欧美性久久久久