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");
相关推荐
fuyongliang1231 小时前
linux Nginx服务配置介绍,和配置流程
运维·服务器·网络
2501_920047032 小时前
git在Linux中的使用
linux·git·elasticsearch
程序设计实验室2 小时前
在鸡哥14x上安装Linux:Fedora 42 上手体验
linux
UNbuff_02 小时前
Linux bzip2 命令使用说明
linux·运维·服务器
小马哥编程3 小时前
DNS解析中的服务器协作机制
服务器·git·github
IOT-Power3 小时前
Ubuntu下把 SD 卡格式化为 FAT32
linux·运维·ubuntu
嫩萝卜头儿3 小时前
虚拟地址空间:从概念到内存管理的底层逻辑
linux·服务器·网络
LJC_Superman4 小时前
Web与Nginx网站服务
运维·服务器·前端·网络·数据库·nginx·vim
proware4 小时前
昇腾310i Pro固件说明
linux·运维·服务器
爱的si念4 小时前
嵌入式ARM64 基于RK3588原生SDK添加用户配置选项./build lunch & debian
linux·debian·嵌入式