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");
相关推荐
阿湯哥5 分钟前
Reactor响应式编程中Flux和FluxSink
运维·服务器·网络
爱装代码的小瓶子10 分钟前
【C++与Linux】文件篇(2)- 文件操作的系统接口详解
linux·c++
桌面运维家12 分钟前
vDisk考场环境网络瓶颈怎么定位?快速排查指南
运维·服务器·网络
Cisco_hw_zte15 分钟前
挂载大容量磁盘【Linux系统】
linux·运维·服务器
DolphinScheduler社区20 分钟前
Linux 环境下,Apache DolphinScheduler 如何驱动 Flink 消费 Kafka 数据?
linux·flink·kafka·开源·apache·海豚调度·大数据工作流调度
腾科IT教育23 分钟前
华为认证报考常见问题解析
运维·服务器·华为认证·hcia
芒鸽23 分钟前
基于 lycium 适配鸿蒙版 Nginx 的解决方案
nginx·harmonyos·策略模式
艾莉丝努力练剑26 分钟前
【AI时代的赋能与重构】当AI成为创作环境的一部分:机遇、挑战与应对路径
linux·c++·人工智能·python·ai·脉脉·ama
杜子不疼.26 分钟前
【Linux】Ext系列文件系统(一):文件系统的初识
linux·运维·服务器
AI科技星29 分钟前
加速运动电荷产生引力场方程求导验证
服务器·人工智能·线性代数·算法·矩阵