nginx代理后,获取request的ip

在使用nginx作为反向代理服务器时,通过常规方式获取的IP是nginx服务器的IP,而非客户端的IP。解决这个问题需要在nginx配置中添加设置,将用户IP保存并传递。在nginx配置文件中添加`proxy_set_header X-Real-IP $remote_addr;`,然后在程序中通过`X-Real-IP`头来获取真实IP。同时,对于Tomcat的access日志,可以配置AccessLogValve以记录客户端IP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用程序部署上线,一般都会用nginx之类的来进行反向代理,而不是直接访问tomcat之类的容器.

这时候如果用平时的获取ip的代码,就只会获取到nginx所在服务器的ip, 就失去了本身的意义.

今天就来配置下 nginx+tomcat 后,  程序获取ip和 tomcat的访问日志localhost_access_log 获取ip.


nginx+tomcat集群参考以前的博客,这里是传送门


1.首先要在nginx中加个配置,即把用户ip保存下来

在nginx的配置文件中增加 

proxy_set_header X-real-ip           $remote_addr;

位置要注意, 可以放在 location / 中, 如果你配置了.do, .action的转发, 那就要放在 .do,.action的配置中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值