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");
相关推荐
鹏大师运维12 分钟前
MBR与GPT分区表深度解析:硬盘分区该怎么选?
linux·运维·服务器·gpt·国产操作系统·mbr·统信uos
三雷科技15 分钟前
window中qemu使用(安装ubuntu系统)
linux·运维·ubuntu
十五年专注C++开发18 分钟前
MakeInstaller: 一款麒麟操作系统安装包制作工具
linux·c++·打包工具·安装包制作·麒麟系统
野原鑫之祝19 分钟前
嵌入式开发学习———Linux环境下IO进程线程学习(一)
linux·c语言·学习·vim·嵌入式
破刺不会编程37 分钟前
linux线程互斥和同步
linux·运维·服务器·开发语言·网络
Tipriest_42 分钟前
linux git ssh配置过程
linux·git·ssh
dessler2 小时前
RabbitMQ-伪集群部署(Cluster)
linux·运维·rabbitmq
jzy37112 小时前
国产化适配鲲鹏arm环境:hive on tez 单节点部署实践总结
linux·hadoop·apache hive
阿巴~阿巴~2 小时前
Linux核心转储(Core Dump)原理、配置与调试实践
linux·运维·服务器
Sadsvit2 小时前
Linux 时钟同步配置:基础管理与 chrony 工具应用
linux·运维·chrome