nginx黑白名单、IP透传配置

您所在的位置:网站首页 怎么使用ip代理 nginx黑白名单、IP透传配置

nginx黑白名单、IP透传配置

2023-06-17 15:06| 来源: 网络整理| 查看: 265

在nginx日常使用中,IP透传可以帮助我们在使用nginx反向代理时正确获取客户端IP地址,而白名单限制则可以帮助我们限制只允许特定IP地址或IP地址段的客户端访问我们的网站,以下是如何在nginx中如何配置IP透传以及配置黑白名单。

1、IP透传

当NGINX作为WEB服务器的反向代理时,我们通常需要将客户端的真实IP透传到后端服务器,这样才能正确记录访问日志和进行客户端IP统计。

首先需要在NGINX的配置文件中添加如下配置:

set_real_ip_from .../; #允许任何IP real_ip_header X-Real-IP; #表示从X-Real-IP的HTTP头中获取客户端IP

其中set_real_ip_from用于配置可以信任的IP地址,如果没有指定,则默认从所有IP地址接收真实IP。real_ip_header则是指定从HTTP头中获取真实IP的字段,默认为X-Forwarded-For。

然后在server段中加入以下配置:

proxy_set_header X-Real-IP $remote_addr; # 设置发送到后端服务器的HTTP头 proxy_set_header Host $host; # 设置发送到后端服务器的HTTP头 proxy_pass http://backend; #负载均衡后端服务器

这样就可以实现IP透传,将客户端真实IP发送给后端服务器,方便后续处理。

2、白名单限制

有时候我们需要限制某些IP访问NGINX服务器,这时可以用白名单限制来实现。在NGINX配置文件中,一般使用deny和allow指令来实现IP白名单限制。

先在http段中加入如下配置: geo $client1 { default ; 1.2.3.4/32 1; # 其他IP } 其中,geo指令用于定义一个内存变量$client1,它表示是否为允许的IP地址。default 表示默认值为不允许,1.2.3.4/32 1表示指定一个允许的IP地址,可以指定多个IP地址。 然后在server段中加入以下配置: location / { if ($client1 = ) { return 403; # 拒绝访问 } # 其他配置 } 这样,当访问的IP地址不在白名单列表中时,会返回403错误,拒绝访问。当然,也可以用正则表达式的方式优化IP地址匹配。

以上为nginx的配置黑白名单和IP透传的配置方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3