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

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


咨詢
建站咨詢
