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");
相关推荐
赋创小助手2 分钟前
NVIDIA B200 GPU 技术解读:Blackwell 架构带来了哪些真实变化?
运维·服务器·人工智能·深度学习·计算机视觉·自然语言处理·架构
sagima_sdu2 分钟前
bin、sbin 与 usr/bin、usr/sbin 目录的区别和由来
linux·运维·网络
前进的程序员6 分钟前
驱动开发中Linux系统裁剪、开发、调试步骤
linux·驱动开发·设备树
70asunflower7 分钟前
镜像仓库(Image Registries)详解
linux·docker·容器
Monly2111 分钟前
Linux:分包上传文件
linux
岁岁种桃花儿11 分钟前
深度解析DolphinScheduler核心架构:搭建高可用Zookeeper集群
linux·分布式·zookeeper
顶点多余13 分钟前
版本控制器-git
linux·git
前进吧-程序员14 分钟前
【硬核架构】IO 巅峰对决:Linux epoll vs Windows IOCP vs 新皇 io_uring
linux·服务器
路由侠内网穿透.15 分钟前
本地部署家庭自动化系统 Domoticz 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·自动化
IT北辰17 分钟前
VMware Workstation虚拟机kali环境如何连接usb网卡RT3070
linux