两级Nginx代理带来的无法获取真实用户IP有关问题解决方法
两级Nginx代理带来的无法获取真实用户IP问题解决办法
第一级 Nginx
最前端的Nginx代理有下面的内容。
server { listen 80; server_name www.xxxxx.net; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
第二级 Nginx
set_real_ip_from 和 real_ip_header 这3行必须有。
listen 192.168.1.163:8030; server_name www.xxxxx.net; access_log /var/log/nginx-xxxxx-v3-access_log; charset utf-8; default_type text/html; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; set_real_ip_from 192.168.1.0/24; set_real_ip_from 192.168.1.163; real_ip_header X-Real-IP;
经过实践证明,是可以运作的。