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");
相关推荐
专吃海绵宝宝菠萝屋的派大星13 分钟前
使用Dify对接自己开发的mcp
java·服务器·前端
大数据新鸟31 分钟前
操作系统之虚拟内存
java·服务器·网络
楠奕2 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT2 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!2 小时前
Linux常用指令(2)
linux·运维·服务器
做咩啊~3 小时前
6.增加一个flat网段
服务器·openstack
不愿透露姓名的大鹏3 小时前
Oracle归档日志爆满急救指南
linux·数据库·oracle·dba
W.W.H.3 小时前
嵌入式常见的面试题1
linux·网络·经验分享·网络协议·tcp/ip
木白CPP3 小时前
DMA-Buffer内核驱动API文档
linux
HXQ_晴天3 小时前
Linux 系统的交互式进程监控工具htop
linux·服务器·网络