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");
相关推荐
三言老师1 天前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
Super 含1 天前
Android 启动优化(五):线程、GC 与 IO 为什么会拖慢启动?
java·服务器·数据库
ltl1 天前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux
ltl1 天前
可拆分 OS:CXL 内存池化如何动摇本地 DRAM 假设
linux
ltl1 天前
Tetragon 强制执行:Override 与 SIGKILL 各自保证什么
linux
lengjingzju1 天前
编译与调试完全指南—第6章 性能分析工具
linux
土星云SaturnCloud1 天前
产线SOP动作级AI监管方案:土星云SE110S-WC8赋能合规识别、预警与效率分析
大数据·服务器·人工智能·ai·边缘计算
躺不平的理查德1 天前
嵌入式 Linux 系统移植与 SD 卡量产镜像制作
linux·运维·服务器
一直走下去-明1 天前
centos7无法安装tcpreplay
linux·运维
吹什么轩1 天前
linux网络:TCP套接字基础
linux·网络·tcp/ip