我在端口8000上运行python web服务器(Falcon)。试图通过nginx传递真正的用户ip:
server { listen 80; server_name myhost.com; # ^^^^^^^^^^ my real website name here real_ip_header X-Real-IP; real_ip_header X-Forwarded-For; real_ip_recursive on; set_real_ip_from 127.0.0.1; location / { proxy_set_header Host $host; proxy_set_header REMOTE_ADDR $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Host $remote_addr; proxy_pass http://localhost:8000; } }
但是,接收:127.0.0.1,我该怎么解决?
upd2现在我拉'HTTP_X_FORWARDED_FOR',但收到最接近我的networking服务器地址,但不是我的真实IP。
我们使用这个头文件来传递真实IP:
proxy_set_header Accept-Encoding ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Client-Cert-Verified $ssl_client_verify; proxy_set_header X-Client-Cert-DN $ssl_client_s_dn; add_header Front-End-Https on;