Nginx 做为前端负载均衡时,后端服务器获取的IP为 Nginx 的本机IP,让Nginx 把用户

2025-10-28

Nginx 做为前端负载均衡时,后端服务器获取的IP为 Nginx 的本机IP,让Nginx 把用户IP传递到后端里面去。

问题

Nginx 做为前端负载均衡时,后端服务器获取的IP为 Nginx 的本机IP.

解决办法

 1  
 21. Nginx 开启 http_realip_module 模块  
 3  
 4./configure --with-http_realip_module  
 5  
 6make && make install  
 7  
 8  
 92. Nginx 前端 增加 proxy_set_header  
10  
11proxy_set_header X-Real-IP $remote_addr;  
12  
13  
143. Nginx 后端 增加 real_ip_header  
15  
16real_ip_header X-Real-IP;  
17  
18后端配置 必须重启 Nginx 才能生效, reload 不生效。  
19  
204. Tomcat 后端 需要修改 Service.xml  
21  
22找到   
23  
24pattern="%h %l %u %t "%r" %s %b" />  
25  
26修改为   
27  
28pattern="%{X-FORWARDED-FOR}i %l %u %t %r %s %b %D %q %{User-Agent}i %T" resolveHosts="false"/>  
29  
30