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");
相关推荐
infiniteWei1 小时前
【VIM 入门到精通】第1节:揭开Vim的神秘面纱:入门与基础操作
linux·编辑器·vim
卌卄1 小时前
Linux下安装Docker
linux·运维·docker
派阿喵搞电子1 小时前
配置srs的鉴权时遇到的问题
服务器·docker·容器·srs
wanhengidc2 小时前
云手机 网络连接与持续性的表现如何
运维·服务器·科技·游戏·智能手机
小猿成长3 小时前
Ubuntu搭建物联网平台(ThingsBoard)教程
linux·运维·ubuntu
代码不行的搬运工3 小时前
RFC6811:BGP前缀源验证
运维·服务器·bgp网络
Archie_IT3 小时前
openEuler 软件生态深度勘探:从六万软件包到多语言融合
linux·容器·性能测试·openeuler·多语言开发
tokepson4 小时前
香橙派AI Pro个人云平台 - 从零搭建全记录
linux·服务器·技术·记录
fengyehongWorld4 小时前
Linux wget命令
linux
fpcc5 小时前
跟我学C++中级篇——Linux系统信号分析
linux