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");
相关推荐
xiaoliuliu1234512 分钟前
Kylin V10 安装 compat-gcc-44-4.4.7-8.el7.x86_64.rpm 详细步骤
linux·运维·服务器
蓝黑202026 分钟前
Ubuntu Linux安装搜狗拼音输入法
linux·ubuntu·输入法·pinyin
峰顶听歌的鲸鱼26 分钟前
Kubernetes-Pod
linux·运维·云原生·容器·kubernetes·云计算
有点心急102132 分钟前
Python 入门
服务器·数据库·python
敲代码的哈吉蜂43 分钟前
haproxy——socat热更新工具
linux·运维·服务器
IvanCodes43 分钟前
十、Linux Shell脚本:流程控制语句
linux·云计算
小庄梦蝶1 小时前
宝塔使用nodejs管理器下载nodejs版本失败解决方式之一
linux·运维·前端
8125035332 小时前
DNS监控:生产实践
linux·网络·网络协议·tcp/ip·计算机网络
Unpredictable2222 小时前
Ubuntu 22.04 ROS2 Humble 源码编译安装 teb_local_planner 踩坑记录
linux·ubuntu·teb·自主导航·局部路径规划
was1722 小时前
轻量级多服务器监控:Beszel 的安装与实战部署
运维·服务器·状态监控