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");
相关推荐
xflySnail1 天前
nas服务域名高速访问-DNS+ESA
运维·服务器·esa·无端口访问
赵民勇1 天前
Linux/Unix中install命令全面用法解析
linux·shell
苏宸啊1 天前
Linux指令篇(一)
linux·运维·服务器
睡不醒的猪儿1 天前
nginx常见的优化配置
运维·nginx
我要升天!1 天前
Linux中《网络基础》
linux·运维·网络
ZStack开发者社区1 天前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
鸽芷咕1 天前
【2025年度总结】时光知味,三载同行:落笔皆是沉淀,前行自有光芒
linux·c++·人工智能·2025年度总结
羑悻的小杀马特1 天前
指尖敲代码,笔尖写成长:2025年度总结与那些没说出口的碎碎念
linux·c++·博客之星·2025年度总结
源代码•宸1 天前
Golang语法进阶(并发概述、Goroutine、Channel)
服务器·开发语言·后端·算法·golang·channel·goroutine
晴天¥1 天前
VMware+Oracle linux LVM/非LVM磁盘扩容
linux·运维·服务器