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");
相关推荐
wanhengidc4 分钟前
巨椰 云手机 云游戏稳定运行
运维·服务器·arm开发·游戏·云计算
linweidong43 分钟前
顺丰运维面试题及参考答案
运维·nginx·容器·ansible·运维开发·防火墙·python面试
不染尘.1 小时前
UDP客户服务器模型和UDP协议
服务器·网络·网络协议·计算机网络·udp
太行山有西瓜汁1 小时前
达梦DTS工具:批量导出与导入DDL脚本完整指南
运维·服务器·数据库
蓝晶之心1 小时前
Linux rsync ssh方式数据备份
linux·运维·服务器
ss2731 小时前
Java线程池全解:工作原理、参数调优
java·linux·python
fengyehongWorld2 小时前
Linux sudo命令
linux·运维·服务器
JiMoKuangXiangQu2 小时前
Linux 内存管理:页表管理简析
linux·mmu·内存管理·页表管理
WG_172 小时前
Linux:缓冲区_glibc封装
linux·运维·服务器
番知了2 小时前
Ubuntu 22.04 常用命令清单
linux·运维·ubuntu