Nginx IP 白名单设置

本文介绍了一个具体的Nginx配置示例,展示了如何通过配置文件实现IP白名单的功能,确保只有指定的IP地址可以访问特定的服务。示例中使用了ip.config文件来定义允许访问的IP地址,并在nginx.conf文件中进行引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:ip.config

192.168.3.15 1;
192.168.3.10 1;
192.168.0.8 1;

 

2:nginx.conf

#geoIP的白名单
geo $remote_addr $ip_whitelist {
default 0;
include ip.conf;
}

location /console {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#白名单配置
if ( $ip_whitelist = 1 ) {
proxy_pass http://192.168.3.15:9401;
break;
}

return 403;
}

 

转载于:https://www.cnblogs.com/yshyee/p/7389379.html

### 配置 Nginx IP 白名单 为了实现仅允许特定 IP 地址访问服务器的目标,在 Nginx 中可以通过多种方式进行配置。以下是几种常见的方法: #### 方法一:直接在 `location` 块内指定白名单 这种方法最为直观,适用于简单的场景。 ```nginx server { listen 80; server_name example.com; location / { allow 192.168.1.1; # 允许单个IP访问 allow 192.168.1.0/24; # 允许整个子网内的IP访问 deny all; # 拒绝其他所有请求 } } ``` 上述配置表示只允许来自 `192.168.1.1` 和 `192.168.1.x` 的设备访问网站根路径下的资源[^3]。 #### 方法二:利用外部文件管理白名单 当需要维护大量 IP 或频繁更新时,建议采用这种方式。将允许的 IP 列表保存在一个单独的 `.conf` 文件中,并通过 `include` 指令引入。 假设有一个名为 `/etc/nginx/conf.d/whitelist.conf` 的文件,其内容如下所示: ```plaintext allow 192.168.1.1; allow 172.16.0.0/12; ... deny all; ``` 那么可以在主配置文件中的适当位置加入以下语句: ```nginx location /secure_area/ { include conf.d/whitelist.conf; } ``` 这使得对白名单的修改更加方便快捷,无需每次都编辑完整的 Nginx 主配置文件。 #### 方法三:基于 GeoIP 数据库过滤 对于更复杂的地理区域限制需求,还可以借助第三方插件如 MaxMind GeoLite2 来识别并筛选符合条件的访客。不过这种方案相对复杂一些,通常用于跨国企业或大型互联网应用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值