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");
相关推荐
码完就睡9 小时前
Linux——以太网协议
运维·服务器·网络·1024程序员节
心随_风动9 小时前
Ubuntu系统安装Apache服务教程
linux·ubuntu·apache
晴天的雨.99210 小时前
【Linux】make & Makefile 核心知识点
linux·运维·服务器
不吃鱼的羊10 小时前
如何建立高自尊
java·服务器·前端
Zevalin爱灰灰10 小时前
Linux入门第一部分(Ubuntu入门篇) 第三章 shell脚本入门(一)
linux·ubuntu·嵌入式
丘山望岳10 小时前
Linux基础指令入门篇
linux·运维·服务器
笨笨饿10 小时前
#143_屏幕画撕裂的问题及解决方法
linux·stm32·单片机·嵌入式硬件·mcu·lvgl·嵌入式实时数据库
想做小南娘,发现自己是女生喵10 小时前
LAN Device Monitor 第二周学习文档
java·服务器·数据库
小年糕是糕手10 小时前
【AI】用 Python 做一个 AI 截图检索助手:把收藏夹里的截图找回来
linux·人工智能·python·chatgpt·agent·codex·deepseek
hhhjhl10 小时前
Zod 跨端三方库仓颉适配全流程
linux·运维·ubuntu