宝塔面板IP访问限制在左侧导航栏底部「安全」模块设置,开启IP黑白名单开关后方可编辑,支持单IP、CIDR网段及多行规则;禁止海外访问需安装Nginx防火墙插件并开启全局与站点级开关;防止IP直接访问需在网站配置中添加return 444指令。

宝塔面板在哪设置IP访问限制
直接在「安全」菜单里——不是网站设置,也不是防火墙插件页面。很多用户先去网站配置里找“IP白名单”,结果绕一圈才发现入口在左侧导航栏最底部的安全模块。
点击进入后,你会看到「IP黑名单」和「IP白名单」两个开关,默认都是关闭状态。开启任一开关后,下方输入框才可编辑;不开启,填了也不生效。
- 填单个IP,如
203.123.45.67 - 填IP段,用 CIDR 表示法,如
192.168.1.0/24(屏蔽整个C类网段) - 支持多行填写,每行一个规则,回车分隔
- 备注字段建议写清楚来源,比如「恶意扫描器(2025-12-01日封)」,方便后续排查
禁止国外IP访问:靠Nginx防火墙,不是系统防火墙
宝塔自带的安全页里的IP黑白名单,只拦请求到达前的连接层(类似iptables),对HTTP层的地域判断无能为力。真要按“国内/海外”切流量,必须装Nginx免费防火墙插件。
这个插件在软件商店里搜得到,安装后进设置页,打开全局设置 → 禁止海外访问。注意:它依赖IP库做地理映射,不是100%准确——偶尔会把港澳台、海外华人家庭宽带误判为“境外”,尤其IP库更新滞后时。
- 站点级开关也要同步开启,否则全局开了也没用
- 若同时开了「禁止海外」+「禁止国内」,只剩内网IP(如
127.0.0.1、192.168.x.x)能访问 - HTTPS站点同样生效,无需额外配置
用return 444彻底拒绝IP直接访问
防止别人用服务器IP直接访问你的网站(比如恶意解析、扫描试探),不能只靠DNS绑定,得在Nginx配置里主动断连。return 444是Nginx特有指令,表示“不返回任何响应”,比403或404更干净,客户端会直接超时。
操作路径:网站 → 对应站点 → 配置文件 → 在server块里加一段监听IP的配置:
server {
listen 80 default_server;
listen 443 ssl http2 default_server;
server_name 123.123.123.123; # 替换为你的服务器公网IP
return 444;
}-
default_server关键字必须保留,否则不会兜底 - HTTPS部分需已配置SSL证书,否则443监听会失败
- Apache用户请改
httpd-vhosts.conf,用Deny from all配合NameVirtualHost
为什么IP限制有时不生效
常见原因不是设置错了,而是被更高优先级的规则覆盖了。比如你加了IP黑名单,但网站开启了CDN,实际访问IP全是CDN节点的出口IP,真实访客IP藏在X-Forwarded-For头里——此时宝塔的IP限制完全看不见真实来源。
- 确认是否走CDN:看请求头是否有
CF-Connecting-IP或X-Real-IP - 宝塔的IP黑白名单不解析转发头,只认TCP连接源IP
- 若必须基于真实IP过滤,得用Nginx防火墙的「自定义规则」或WAF产品
- 系统级防火墙(如firewalld)和宝塔安全模块共存时,优先级以系统防火墙为准
地域识别和IP段匹配这类事,本质是查表,不是魔法。别指望一次设置永久有效,IP库要定期更新,误封要留日志查证。










