首页
点滴
解决Nginx配置反向代理后无法获取用户真实来源ip问题
最近在系统中加上记录操作日志的功能碰到了获取用户来源ip的问题: 我通过SpringAOP实现了记录操作日志的功能,当我部署到线上的时候发现获取到的ip竟然是我服务器的ip,这就很蛋疼了,我要的是用户的来源ip。 通过测试我发现如果是直接通过ip+端口访问系统的时候是可以正确获取到用户来源ip的,如果是通过域名访问获取的ip竟然是服务的ip。找了一轮发现是因为Nginx配置了反向代理造成的,所以在配置Nginx反向代理的时候需要加如下的配置才行: ``` proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ``` 具体配置如下 ``` server { listen 80; server_name frank.chenhuazhan.com; location / { proxy_pass http://xxxx:8089; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; root html; index index.html index.htm; } } ``` 最后重启一下nginx使配置生效就可以了。
博客分类
源码解析 (1)
多线程 (5)
Java (10)
Linux (8)
Docker (9)
SpringBoot (14)
微服务 (1)
Redis (15)
MySQL (7)
VMware (3)
Nginx (15)
MyBatis (2)
RabbitMQ (1)
Git (7)
工具类 (12)
前端 (3)
友情链接
layui
© 2020-2025 www.chenhuazhan.com All Rights Reserved 备案号:
桂ICP备17004487号-1
粤公网安备44030002005146