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");
相关推荐
TH_116 分钟前
腾讯云-(1)-轻量级服务器购买
服务器·云计算·腾讯云
盛世隐者44 分钟前
【Linux】好用的命令记录
linux
山卡拉噶1 小时前
在Linux中安装Kdump调试环境
linux·运维·服务器
闲猿类1 小时前
嵌入式第九天学习
linux·c语言·学习·算法·嵌入式
离&染1 小时前
宝塔nginx一个域名部署两个前端和两个后端(VUE3)
前端·nginx
℡終嚸♂6801 小时前
红帽系统(RHEL 8/9)安装与配置Nginx全攻略
运维·chrome·nginx
TT哇1 小时前
【计算机网络】经典易错题 1.概述 2 物理层 3.数据链路层 4.网络层
android·服务器·计算机网络
CS_浮鱼1 小时前
【Linux】UDP
linux·udp
大侠课堂2 小时前
ARM Linux内核异常排查指南
linux·arm开发
DeeplyMind2 小时前
Linux Virtio 子系统核心数据结构解析
linux·驱动开发·virtio-gpu