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");
相关推荐
Sylvia-girl7 分钟前
【二】:Linux基础指令
linux·运维·服务器
竣达技术10 分钟前
市电断电电池快耗尽时,防止数据损坏?安全关闭后端WINDOWS系统服务器的方案
运维·服务器·安全
坤坤子吖10 分钟前
Linux 进程信号入门——从 Ctrl+C 到 kill
linux·开发语言·c++·笔记·学习
江湖有缘16 分钟前
Docker实战 | 使用Docker部署ShipShipShip自托管产品更新与功能投票系统
java·linux·服务器·docker
程序猿老A19 分钟前
轻量应用服务器怎么搭建网站?
服务器·阿里云
LXY_BUAA23 分钟前
《嵌入式操作系统》_framebuffer驱动_20261008
linux·运维·算法
2023自学中29 分钟前
github , ubuntu 虚拟机 push file config
linux·ubuntu·github
Hello_Pyhx1 小时前
RetainPDF v4.2.6:Windows、macOS、Linux PDF 翻译的 API 配置与任务排查
linux·macos·pdf
Amelio_Ming1 小时前
rk3588 pcie驱动分析之一 (pcie控制器抽象)
linux
Surpass-HC1 小时前
WSL2 windows-ubuntu
linux·windows·ubuntu