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");
相关推荐
人还是要有梦想的2 分钟前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
bush428 分钟前
嵌入式linux学习记录二
linux·运维·学习
9分钟带帽29 分钟前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
難釋懷1 小时前
Nginx自签名-图形化工具 XCA
运维·nginx
迷枫7122 小时前
DM8 目录结构与常用排查入口梳理
服务器·数据库
运维栈记3 小时前
API Error: 400 Request body format invalid
linux·ai
小白兔奶糖ovo3 小时前
【Leetcode】231. 2的幂
linux·算法·leetcode
weixin_394758034 小时前
CRMEB 会员电商系统PRO系统安装之宝塔安装教程-新手推荐(软件管理)
服务器·阿里云
s_w.h4 小时前
【 linux 】动静态库的制作
linux·运维·服务器·算法·bash
songjxin4 小时前
Nginx 日志分析可视化面板
运维·nginx