首层nginx(172.25.10.1):先获取真实IP($remote_addr),再将真实IP传递给X-Forwarded-For
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
二级代理nginx(IP为172.25.10.2):设置从上级nginx传递过来的X-Forwarded-For为真实IP,日志文件设置获取用户真实IP的变量设置为$remote_addr即可。
set_real_ip_from 172.25.10.1;
real_ip_header X-Forwarded-For;
三级代理nginx(IP为172.25.10.3):设置从上级nginx传递过来的X-Forwarded-For为真实IP,日志文件设置获取用户真实IP的变量设置为$remote_addr即可。
set_real_ip_from 172.25.10.2;
real_ip_header X-Forwarded-For;
从上可看出除了首层要特殊配置外,下级代理层只需要从他自己的上级将真实IP获取到就行了,因此我们看到下级配置只是变动了获取真实的上级代理地址
本文介绍如何在Nginx中配置多级代理,并确保正确传递客户端的真实IP地址。通过设置proxy_set_header和real_ip_header等参数,使得每级代理都能准确记录原始客户端IP。

被折叠的 条评论
为什么被折叠?



