侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Nginx反向代理的项目获取真实IP地址

2023-11-05 星期日 / 0 评论 / 0 点赞 / 34 阅读 / 1056 字

问题 公司最近的一个新的接口项目,需要判断客户服务器IP地址,但是在项目中获取到的都是局域网的IP地址。 后来发现通过反向代理的项目使用request.getRemoteAddr()方式获取到的是反向

问题

公司最近的一个新的接口项目,需要判断客户服务器IP地址,但是在项目中获取到的都是局域网的IP地址。

后来发现通过反向代理的项目使用request.getRemoteAddr()方式获取到的是反向代理服务器的IP。

解决

在Http头创建保存真实IP的变量

在Nginx配置文件中获取到真实IP然后赋值给Http头变量X-Real-IP

server {    listen       80;    server_name  localhost;    client_max_body_size 10m;     location / {        root   /usr/share/nginx/html;        index  index.html index.htm;        # 获取真实IP地址创建并赋值给HTTP头变量X-Real-IP        proxy_set_header X-Real-IP $remote_addr;    }}

 

在程序中获取Http头变量X-Real-IP,从而得到真实IP地址

request.getHeader("X-Real-IP");request.getAttribute("X-Real-IP");

 

广告 广告

评论区