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");
相关推荐
AMoon丶19 分钟前
C++模版-函数模版,类模版基础
java·linux·c语言·开发语言·jvm·c++·算法
ryan007liu1 小时前
shell 批量执行locust 脚本压测
linux·服务器·压力测试
AMoon丶1 小时前
Golang--多种数据结构详解
linux·c语言·开发语言·数据结构·c++·后端·golang
高旭的旭2 小时前
Ubuntu 无显示器远程桌面完美方案
linux·ubuntu·计算机外设
峥嵘life2 小时前
Android16 【CTS】CtsWindowManagerDeviceAnimations存在fail项
android·linux·学习
aiAIman2 小时前
OpenClaw 2026.3.12+ 外网访问云服务器完全指南
运维·服务器·开源·aigc
VermouthSp2 小时前
上下文切换
linux·rust
我爱学习好爱好爱4 小时前
Logstash 数据管道测试案例:从 Filebeat 接收日志并输出至黑屏幕与 Elasticsearch(基于Rocky Linux 9.6)
大数据·linux·elasticsearch
桌面运维家4 小时前
Windows VHD虚拟磁盘技术详解与应用指南
linux·运维·服务器
hy____1234 小时前
Linux_网络基础2
linux·服务器·网络