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");
相关推荐
2023自学中13 小时前
从键盘输入 ./aaa 到程序运行,中间发生了什么?
linux·嵌入式
keyipatience13 小时前
13.系统调用与进程管理全解析
linux
xingyuzhisuan13 小时前
风冷还是水冷?RTX 4090服务器散热方案对比
运维·服务器·ai·gpu算力
你今天努力了吗?*—*13 小时前
4.1 Linux 日志排查
linux·运维·服务器
小狗爱吃黄桃罐头13 小时前
宋宝华:原理和实战解析Linux中如何正确地使用内存屏障
linux·内存屏障
山上三树13 小时前
操作系统如何实现各种功能
linux·运维·服务器
妹妹够啦13 小时前
PyCharm创建venv环境
linux·运维·服务器
我爱小疯喵喵14 小时前
5 Linux apt下载软件包
linux·运维·服务器
坚持就完事了14 小时前
Linux中的tr命令
linux·运维·服务器
xingyuzhisuan14 小时前
影视动画渲染租用RTX4090 GPU服务器的优势及选型指南
运维·服务器·ai编程·gpu算力