nginx之頭部變數x forwarded for

2021-09-24 20:30:47 字數 970 閱讀 7352

$proxy_add_x_forwarded_for變數包含客戶端請求頭中的"x-forwarded-for",與$remote_addr兩部分,他們之間用逗號分開。

舉個例子,有乙個web應用,在它之前通過了2個nginx**,即使用者訪問該web通過2臺nginx。

在第一台nginx中,使用

proxy_set_header     x-forwarded-for     $proxy_add_x_forwarded_for;

現在的$proxy_add_x_forwarded_for變數的"x-forwarded-for"部分是空的,所以只有$remote_addr,而$remote_addr的值是使用者的ip,於是賦值以後,x-forwarded-for變數的值就是使用者的真實的ip位址了。

到了第二台nginx,使用

proxy_set_header    x-forwarded-for     $proxy_add_x_forwarded_for;

現在的$proxy_add_x_forwarded_for變數,x-forwarded-for部分包含的是使用者的真實ip,$remote_addr部分的值是上一台nginx的ip位址,於是通過這個賦值以後現在的x-forwarded-for的值就變成了「使用者的真實ip,第一台nginx的ip」,這樣就清楚了吧。

最後我們看到還有乙個$http_x_forwarded_for變數,這個變數就是x-forwarded-for,由於之前我們說了,預設的這個x-forwarded-for是為空的,所以當我們直接使用proxy_set_header    x-forwarded-for     $http_x_forwarded_for時會發現,web伺服器端使用x-forwarded-for獲得的值是null。如果想要通過x-forwarded-for獲得使用者ip,就必須先使用proxy_set_header    x-forwarded-for     $proxy_add_x_forwarded_for; 這樣就可以獲得使用者真實ip。

HTML總結之頭部

1 head元素 head元素是所有頭部元素的容器,4 html元素 5 html元素 標籤用於為html文件定義樣式資訊,規定html在瀏覽器中呈現的樣式 6 html元素 元資料 metadata 標籤提供關於html文件的元資料 元資料不會再頁面上顯示,但對於機器上是可讀的 標籤始終位於 he...

HTML例項之頭部

參考 content type content text html charset gb2312 content language content zh cn 標題不會顯示在文件區 title head 這段文字會顯示出來。這個連線 a 將在新視窗中載入,因為 target 屬性被設定為 blank...

nginx之if判斷 變數設定 1

一 if指令 if 空格 條件 來判斷相等,用於字串比較 用正則來匹配 此處的正則區分大小寫 不區分大小寫的正則 f 判斷請求的檔案是否存在 d 請求的目錄是否存在 e 檔案或目錄是否存在 x 檔案是否可執行 二 設定變數 set var hello 三 有正規表示式匹配時,並且表示式有 則 1 2...