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");
相关推荐
m0_737302581 天前
腾讯云TDSQL-C+CVM,软硬协同驱动数据库性能革命
服务器
2501_945837431 天前
腾讯云星星海S7,风冷液冷双适配引领绿色算力
服务器
江畔何人初1 天前
Linux 重要目录:/boot、/dev、/etc、/home
linux·运维·云原生
偷学技术的梁胖胖yo1 天前
Shell脚本中连接数据库查询数据报错 “No such file or directory“以及函数传参数组
linux·mysql·shell
草莓熊Lotso1 天前
Linux 进程等待与程序替换全解析:从僵尸进程防治到 exec 函数实战
linux·运维·服务器·开发语言·c++·人工智能·python
德彪稳坐倒骑驴1 天前
PySpark on Linux系统配置 Hadoop3.1.3+Spark3.4.4(PySpark3)
linux·运维·服务器
柏木乃一1 天前
库的制作与原理(2)ELF格式,程序地址空间part2,程序加载
linux·服务器·c++·进程·elf··进程地址空间
杜子不疼.1 天前
【Linux】基础IO(三):文件描述符与重定向
linux·c语言·开发语言·人工智能
猫猫的小茶馆1 天前
【Linux 驱动开发】七. 中断下半部
linux·arm开发·驱动开发·stm32·嵌入式硬件·mcu
cyber_两只龙宝1 天前
LVS-DR模式实验配置及原理详解
linux·网络·云原生·智能路由器·lvs·dr模式