新聞中心
Nginx Web服務器在使用的時候常常會使服務取ip出現(xiàn)問題,讓Nginx Web服務器直接支持x_forwarded_for是其中一種解決方案。那么我們要如何才能使用這樣的方案呢?

公司主營業(yè)務:成都做網站、網站制作、成都外貿網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出定陶免費做網站回饋大家。
- set $ip $http_x_forwarded_for;
- if ($ip ~ ^$ )
- {
- set $ip $remote_addr;
- }
- proxy_set_header X-Forwarded-For "$ip, $server_addr";
用這段代碼就可以讓Nginx Web服務器支持標準的x_forwarded_for,在某些情況下,可以用:
- proxy_set_header X-Forwarded-For "$ip";
不把Nginx Web服務器機器的ip地址加進去。
附:x_forwarded_for取ip的正確方式
x_forwarded_for是將請求路過的代理服務器的ip都記錄下來的一條字符串,每經過一個代理服務器,x_forwarded_for就會在它的后面加上這個代理服務器的ip地址。常見的:
119.120.112.157, 61.135.253.11
這樣就表示請求經過了一個代理服務器61.135.253.11。
119.120.112.157, 61.135.253.11, 192.168.0.13
經過了兩個代理服務器61.135.253.11和192.168.0.13。
這樣看起來取***個ip地址就是正確的,不過這比較草率:
192.168.0.1, 119.120.112.157, 61.135.253.11, 192.168.0.13
可以看到會有這樣的x_forwarded_for地址,這是因為用戶在反向代理前,還用了一個正向代理上網,這時取***個的話就是192.168.0.1,顯然是不正確的。正確的取法應該是:取倒數(shù)***個非服務器ip,在例子中61.135.253.11, 192.168.0.13,這兩個ip都是服務器用的ip,除去這兩個,倒數(shù)***個119.120.112.157就是正確的。
網頁名稱:NginxWeb服務器標準IP解決方案
文章轉載:http://m.fisionsoft.com.cn/article/dphdpje.html


咨詢
建站咨詢
