Nginx 后端服务器获取前端用户真实IP

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

问题

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

解决办法

1. Nginx 开启 http_realip_module 模块

    ./configure --with-http_realip_module

    make && make install

	
2.  Nginx 前端 增加 proxy_set_header
 
    proxy_set_header X-Real-IP $remote_addr;


3.  Nginx 后端 增加 real_ip_header

    real_ip_header     X-Real-IP;
	
	后端配置 必须重启 Nginx 才能生效, reload 不生效。

4.  Tomcat 后端 需要修改 Service.xml

    找到 
	pattern="%h %l %u %t "%r" %s %b" />
	
	修改为 
	pattern="%{X-FORWARDED-FOR}i %l %u %t %r %s %b %D %q %{User-Agent}i %T" resolveHosts="false"/>
	
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
ssh

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: