可通过Nginx或Apache配置IP段黑名单:Nginx用deny指令或防火墙插件,Apache用RequireNot指令,还可通过全局blacklist.conf统一管理。

如果您在宝塔面板中部署了网站,需要限制特定IP段的访问请求,则可通过Nginx或Apache的访问控制模块实现基于IP段的黑名单策略。以下是具体配置步骤:
一、通过Nginx配置IP段黑名单
Nginx支持使用deny指令配合CIDR格式的IP段,在server块中直接拦截匹配的请求,并返回403状态码。该方式无需重启整个Web服务,仅需重载Nginx配置即可生效。
1、登录宝塔面板,进入【网站】列表,点击目标站点右侧的【设置】按钮。
2、切换到【配置文件】选项卡,找到location / { ... } 或 server { ... } 区域内的合适位置(通常在server块开头或location /块内)。
3、在server块中添加如下配置(示例:屏蔽192.168.100.0/24网段):
deny 192.168.100.0/24;
deny 203.0.113.0/28;
4、保存配置文件后,点击右上角【重载配置】按钮,使规则立即生效。
5、验证效果:从被屏蔽IP段中的设备访问该网站,应返回403 Forbidden页面。
二、通过Nginx防火墙插件配置IP段黑名单
宝塔官方提供的Nginx防火墙插件(需付费或社区版)内置IP黑名单管理界面,支持CIDR格式导入与批量操作,适合频繁调整策略的场景。
1、在宝塔面板左侧菜单中点击【软件商店】,搜索并安装【Nginx防火墙】插件(若未安装)。
2、安装完成后,进入【安全】→【Nginx防火墙】→【IP黑名单】。
3、在【添加黑名单IP】输入框中,输入完整IP段,例如:192.0.2.0/24 或 2001:db8::/32(IPv6支持需Nginx编译时启用ipv6模块)。
4、点击【提交】,系统自动将规则写入插件配置文件并重载Nginx。
5、确认【状态】列显示为“已启用”,且【操作】列中可执行【删除】或【禁用】。
三、通过Apache配置IP段黑名单
若网站使用Apache作为Web服务器,可通过mod_authz_host模块的RequireNot指令实现IP段拒绝,适用于宝塔中切换为Apache环境的站点。
1、进入宝塔【网站】→【设置】→【配置文件】,确认当前Web服务类型为Apache。
2、在
Require all granted
RequireNot ip 198.51.100.0/24
RequireNot ip 203.0.113.16/28
3、确保Apache已加载mod_authz_host模块(宝塔默认启用,无需额外操作)。
4、保存配置后,点击【重载Apache】按钮。
5、测试访问时,来自被屏蔽IP段的请求将收到403 Forbidden响应。
四、通过自定义Nginx全局规则文件统一管理
为避免在多个站点配置中重复添加黑名单,可在Nginx主配置中引入独立的黑名单规则文件,实现集中维护与跨站点复用。
1、使用SSH登录服务器,执行命令创建规则文件:touch /www/server/panel/vhost/nginx/blacklist.conf。
2、向该文件写入多条deny规则,例如:
deny 192.0.2.0/24;
deny 198.51.100.64/27;
deny 2001:db8:abcd::/48;
3、编辑主配置文件 /www/server/nginx/conf/nginx.conf,在http {} 块末尾添加:include /www/server/panel/vhost/nginx/blacklist.conf;。
4、执行命令nginx -t校验语法,无报错则执行nginx -s reload重载配置。
5、所有启用Nginx的站点均自动继承该黑名单规则。










