宝塔面板禁止IP访问设置教程
时间:2026-05-08 14:15:42 244浏览 收藏
本文详细介绍了如何在宝塔面板中通过创建IP兜底站点并配置Nginx的`return 444;`指令,彻底、静默地拦截所有未绑定域名的HTTP/HTTPS直接IP访问——不仅覆盖80端口,更关键的是必须同步配置443端口监听与SSL占位证书,避免HTTPS绕过;该方法利用Nginx原生机制实现无响应体的连接强制关闭,比返回404或403更隐蔽、更安全,是服务器安全加固中极易被忽视却极为有效的关键一步。

直接在宝塔面板里建一个「空主机头兜底站点」,再往它的 Nginx 配置里加 return 444;,就能有效拦截所有未绑定域名的 IP 直连请求。这不是障眼法,是 Nginx 原生支持的连接静默关闭机制,比 return 404 更干净——不发任何响应体,客户端直接断连。
创建默认站点并设为兜底入口
这个站点不提供内容,只起路由拦截作用。关键点在于:域名必须填服务器 IP(比如 192.168.1.100),不能留空或写 _;网站目录可以随便指定(如 /www/wwwroot/default),但必须真实存在且有读权限。
- 登录宝塔 → 左侧「网站」→ 右上角「添加站点」
- 「域名」栏粘贴你的公网/内网 IP 地址(不要带
http://) - 「根目录」填一个空目录路径,确保该路径已创建且 Nginx 有权限读取
- 提交后,在网站列表中找到它,点击「设置」→「基本设置」→ 拉到底部勾选「设为默认站点」
在配置文件里插入 return 444;
return 444; 必须放在 server { } 块内、所有 location { } 块之外的位置。放错地方会导致语法错误或完全不生效。别用 403 或 404 替代——前者可能被爬虫识别为“有站”,后者会返回 HTML 页面,反而暴露服务指纹。
- 进入该默认站点的「设置」→「配置文件」
- 找到
server {开始的大括号块,在最后一行}之前插入:return 444; - 确认没有拼写错误(比如写成
retun或漏掉分号) - 保存后,立刻点左上角「重载 Nginx」,不是重启,也不是重载 PHP
HTTPS 场景下必须显式监听 443 端口
如果用户用 https://[IP] 访问,而你只在 80 端口写了 return 444;,Nginx 会因找不到匹配的 SSL server 块而 fallback 到其他站点,导致失效。必须让这个兜底 server 同时监听 443 并声明 SSL 支持。
- 在同一个
server { }块里,把listen 80 default_server;改成:listen 80 default_server; listen 443 ssl http2 default_server; - 紧接着加上 SSL 证书路径(哪怕只是占位):
ssl_certificate /www/server/panel/ssl/certificate.pem; ssl_certificate_key /www/server/panel/ssl/privateKey.pem; - 这两行证书路径是宝塔自动生成的默认路径,即使没配 HTTPS 域名也能防止 Nginx 启动报错
验证是否生效的三个必做动作
别只用浏览器访问 IP 就以为成功了。Nginx 的 default_server 匹配逻辑很细,容易被已有配置干扰,必须逐项验证。
- 用
curl -I http://[你的IP]和curl -I https://[你的IP]分别看响应头,状态码应为HTTP/1.1 444,且无Content-Length或Server字段 - 检查 Nginx 错误日志:
tail -f /www/wwwlogs/nginx_error.log,访问 IP 时不应出现no host name to match或SSL_do_handshake() failed - 确认没有其他站点的配置文件里写了
server_name _;或空server_name,这种配置会抢走 default_server 权限
最常被忽略的是 HTTPS 那一节:很多人只处理了 80 端口,结果攻击者换用 https:// 就绕过去了。只要你的服务器开了 443 端口,兜底规则就必须覆盖它,否则等于没设。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《宝塔面板禁止IP访问设置教程》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
165 收藏
-
367 收藏
-
229 收藏
-
272 收藏
-
187 收藏
-
244 收藏
-
181 收藏
-
298 收藏
-
187 收藏
-
488 收藏
-
246 收藏
-
102 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习