Nginx
Nginx 重定向和地理定位
我在 Nginx 和 GeoIP 方面遇到了以下問題,如果你能給我一些關於解決方案的指示,那就太好了。
注意:我知道這可以在 DNS 端解決,但現在不可能,所以我正在尋找其他解決方案。
問題
我的 www.domain.com 有 1.1.1.1 IP 地址位於執行 Nginx 的亞馬遜中,重定向如下:
location / { proxy_pass http://2.2.2.2 proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
在 2.2.2.2 上有另一個使用 geoIP 的 nginx。問題是我所有的客戶似乎都來自 1.1.1.1,因為第二個 nginx 的地理定位是
$remote_addr
.有什麼方法可以擷取真正的客戶端 IP(1.1.1.1 上的 $remote_addr)並將其作為不同的變數傳遞給 2.2.2.2 並將其用於地理定位?
歡迎任何提示、評論或 RTFM。我會繼續尋找解決方案來嘗試回答這個問題。
謝謝。
在您的上游 nginx 上,使用RealIpModule
X-Forwarded-For
從您從下游 nginx 發送的標頭中獲取真實 IP 。例如:
server { set_real_ip_from 1.1.1.1; real_ip_header X-Forwarded-For;