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");
相关推荐
jiuri_121529 分钟前
深入理解 Linux 内核同步机制
linux·内核
HarmonLTS34 分钟前
Python Socket网络通信详解
服务器·python·网络安全
sun00770038 分钟前
androd和qnx判断实网卡还是虚网卡
运维·服务器·网络
郝学胜-神的一滴1 小时前
Python数据封装与私有属性:保护你的数据安全
linux·服务器·开发语言·python·程序人生
口嗨农民工1 小时前
live555 sample基本解读
运维·服务器
٩( 'ω' )و2601 小时前
linux--库的制作与原理
linux
海盗12341 小时前
VMware 中 CentOS 7 无法使用 yum 安装 wget 的完整解决方案
linux·运维·centos
小宇的天下1 小时前
Synopsys Technology File and Routing Rules Reference Manual (1)
java·服务器·前端
lph0092 小时前
mqtt broker (mosquitto)创建服务器、订阅与发布
运维·服务器
酒醉的胡铁2 小时前
uniapp运行到鸿蒙证书配置
服务器·uni-app·harmonyos