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");
相关推荐
小白冲鸭几秒前
苍穹外卖-前端环境搭建-nginx双击后网页打不开
运维·前端·nginx
天码-行空10 分钟前
【大数据环境安装指南】HBase集群环境搭建教程
大数据·linux·运维·hbase
天空之外13610 分钟前
生成一个带 IP 的自签证书、制作Http证书
linux·运维·服务器
希赛网24 分钟前
华为认证HCIP数通备考资源、模拟练习题库哪里下载?
服务器·网络工程师·华为认证·hcip
恒创科技HK28 分钟前
2026年香港服务器走CN2线路具有哪些优势?
运维·服务器
释怀不想释怀37 分钟前
linux常见安装(JDK,mysql,nginx)
linux·运维·服务器
杰克崔39 分钟前
do_exit的hungtask问题及coredump的实验及原理分析一
linux·运维·服务器·车载系统
pengdott1 小时前
Linux进程数据结构与组织方式深度解析
linux·运维·服务器
Java 码农1 小时前
gitlab gitrunner springboot 多环境多分支部署 (非容器方式,使用原生linux 环境)
linux·spring boot·gitlab
oMcLin1 小时前
如何在 Debian 11 上配置并优化 Nginx 与 Lua 脚本,提升高并发网站的动态请求处理能力?
nginx·debian·lua