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");
相关推荐
程序员-Benothing19 小时前
Linux安全加固指南:账号、权限、服务、审计基线
linux·运维·安全
Cry丶19 小时前
ubuntu安装vsftpd
服务器·网络·ubuntu
木子欢儿21 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..1 天前
【Linux】文件系统(一)
linux·运维·服务器
九零HTTP1 天前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
SHENGWEI胜为1 天前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
极光通讯1 天前
液冷服务器对内存和SSD的适配要求:高密度部署下的散热与信号完整性
运维·服务器
GeW1 天前
新质生产力路线图:从Linux到数据库,企业落地要点都在这
linux
IMPYLH1 天前
Linux 系统备份与镜像
linux·服务器·网络
qetfw1 天前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash