Nginx 防止IP伪造,绕过IP限制

背景介绍

在使用Nginx时,需要将IP地址转发到后置应用中,往往需要增加配置

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

在后端程序通过读取请求头里的X-Forwarded-For来获取用户客户端IP。

java 复制代码
public String getRemortIP(HttpServletRequest request) { 
  if (request.getHeader("x-forwarded-for") == null) { 
    return request.getRemoteAddr(); 
  } 
  return request.getHeader("x-forwarded-for"); 
}

但是,这个X-Forwarded-For可以通过修改报文来伪造IP。

解决办法

Nginx中增加配置

proxy_set_header X-Real-IP $remote_addr; #让WEB取得原始请求IP

代码中取客户端IP

java 复制代码
String clientIp = request.getHeader("X-Real-IP");
相关推荐
开开心心_Every4 分钟前
在线看报软件, 22家知名报刊免费看
linux·运维·服务器·华为od·edge·pdf·华为云
%2521 分钟前
Nginx
运维·nginx
skd89991 小时前
fax传真内容解密工具,传真解析工具
服务器
坤虫debug1 小时前
Nginx 模块和指令的区别:http/server/location 不是模块,是指令
nginx
前端 贾公子1 小时前
组件 v-model 的封装实现原理及 Input 组件的核心实现(上)
服务器·前端·javascript
木子欢儿1 小时前
debian 13 安装配置ftp 创建用户admin可以访问 /mnt/Data/
linux·运维·服务器·数据库·debian
wsad05321 小时前
Xshell 连接 CentOS 7 Minimal 完整配置指南
linux·运维·centos
小程同学>o<1 小时前
Linux 应用层开发入门(二十三)| 异步通知方式读取输入数据
linux·嵌入式软件·地瓜机器人·atomgit·linux应用层开发·openloong开源社区·开源新春集福
末日汐2 小时前
应用层自定义协议与序列化
运维·服务器·网络
czxyvX2 小时前
005-Linux基础开发工具
linux