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");
相关推荐
L Jiawen17 小时前
【Golang基础】基础知识(下)
服务器·开发语言·golang
haimin037118 小时前
linux设置CPU固定频率
linux·运维·服务器
大聪明-PLUS18 小时前
Linux:处理器释放内存
linux·嵌入式·arm·smarc
一条咸鱼¥¥¥19 小时前
【运维经验】服务器磁盘做镜像的方法
运维·服务器·windows·经验分享
渣渣盟19 小时前
NFS服务器配置全攻略:从入门到精通
linux·运维·服务器
一只旭宝19 小时前
Linux专题九:I/O复用(水平以及边缘触发放到libevent库那一专题细讲)
linux·运维·服务器
缘如风19 小时前
Linux上sunrpc 111端口关闭
linux·服务器
I · T · LUCKYBOOM19 小时前
iptables防火墙
linux·运维·服务器·网络·安全
山上三树20 小时前
main()函数带参数的用法
linux·c语言
凌波粒20 小时前
Linux-Ubuntu系统环境搭建
linux·运维·ubuntu