2017-02-17 52 views
0

我有2個Web服務器,並且有時Web服務器A需要從Web服務器B請求一些數據,並且需要發送用戶的IP地址。但是,如果我只在A服務器上撥打file_get_contents(),則B將檢測到服務器A的IP地址,而不是來自用戶。第二個選項是在查詢字符串中傳遞IP地址,但服務器B上的nginx是用geoip模塊編譯的,我在變量$_SERVER['COUNTRY_CODE']中找到國家代碼。將用戶的IP地址傳遞給另一個Web服務器

所以我的問題,是否有任何方式使用CURL將用戶的IP地址從服務器A傳遞到請求中的服務器B?可能我需要設置一些標題,並且該標題將被geoip模塊考慮在內?

+0

也許這可以幫助:http://serverfault.com/questions/331079/haproxy-and-forwarding-client-ip-address-to-servers –

+0

傳遞IP作爲HTTP標頭,例如'X-Forwarded-For:{IP}',到服務器B並在服務器B上使用Nginx的RealIP模塊。http://nginx.org/en/docs/http/ngx_http_realip_module.html –

回答

0

使用此服務器A:

curl www.domain.tld --header "X-Forwarded-For: xxx.xxx.xxx.xxx" 

您需要在服務器A

xxx.xxx.xxx.xxx更換客戶端IP根據您的應用程序,你可能需要指示它在服務器B上驗證X-Forwarded-For