跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

宝塔面板如何设置禁止通过IP直接访问网站?在宝塔面板配置空主机头

可通过五种方法禁止宝塔面板中IP直接访问网站:一、建默认站点并配置return 444;二、修改0.default.conf设default_server并return 444;三、用if正则匹配IP返回403;四、配带Cloudflare证书的默认HTTPS站点并return 444;五、在安全模块添加host正则拒绝规则。

如果您在宝塔面板中部署了网站,但发现可通过服务器IP地址直接访问站点内容,则存在域名未强制绑定、SSL信息泄露或恶意解析风险。以下是通过配置空主机头(即默认虚拟主机)实现禁止IP直接访问的多种方法:

一、创建默认静态站点并设为默认主机

该方法通过建立一个无实际用途的“兜底”站点,使所有未匹配域名的请求(包括纯IP访问)均被导向此站点,再配合返回错误码阻断访问。

1、登录宝塔面板,在左侧菜单点击“网站”,然后点击右上角“添加站点”。

2、在“域名”栏输入服务器IP地址(例如

192.168.1.100

),其他字段保持默认;网站目录填写/www/wwwroot/default。

3、提交后,在网站列表中找到该新站点,点击其右侧“设置”按钮,进入配置页。

4、点击“配置文件”选项卡,在

server { }

块内末尾插入:

return 444;(Nginx专用关闭连接指令)。

5、保存配置,随后点击左上角“重载Nginx”使生效。

二、修改默认配置文件0.default.conf

该方法直接作用于Nginx全局默认虚拟主机配置,无需新建站点,适用于已存在默认配置且希望最小化变更的场景。

1、使用宝塔终端或SSH工具以root身份登录服务器。

2、执行命令进入Nginx虚拟主机配置目录:

cd /www/server/panel/vhost/nginx。

3、备份原始默认配置:

cp 0.default.conf 0.default.conf.bak。

4、编辑配置文件:

vim 0.default.conf。

5、在

server { }块中,将原有server_name _;

或空行替换为:

listen 80 default_server; listen 443 ssl http2 default_server;。

6、在其后添加:

return 444;,保存退出。

7、在宝塔面板中点击“重载Nginx”服务。

三、使用Nginx内置变量匹配IP并拒绝

该方法不依赖默认站点结构,而是通过正则匹配请求头中的 host 字段是否为纯IP格式,精准拦截所有IP直连行为,兼容HTTP与HTTPS。

1、进入需保护的正式网站设置页,点击“配置文件”。

2、在

server { }块顶部(location { }

之前)插入以下代码:

if ($host ~* "^\d{1,3}(\.\d{1,3}){3}$") { return 403; }

3、确认该代码未被注释,且位于所有

location块之外。

4、若网站启用SSL,需确保该规则同时存在于

server { listen 443 ssl; }块中。

5、保存配置,点击“重载Nginx”。

四、配置带无效证书的默认HTTPS监听

该方法专用于彻底阻断HTTPS下的IP直连,防止SSL证书信息暴露真实IP及域名,利用Cloudflare公共证书规避自签名警告。

1、在宝塔“网站”中新建一个默认站点,域名可填任意占位符(如

default.com)。

2、点击该站点“设置”→“SSL”,选择“其他证书”,粘贴Cloudflare Origin ECC证书及密钥(含 BEGIN/END 标记)。

3、返回“配置文件”,将

server_name行改为server_name default.com;

,并在其后添加:

return 444;。

4、确保该

server { }

块包含两行监听:

listen 80 default_server;和listen 443 ssl http2 default_server;。

5、保存后重载Nginx服务。

五、通过安全模块屏蔽全部非域名请求

该方法借助宝塔内置防火墙机制,在网络层统一拦截非法 host 请求,无需修改Nginx配置,适合对配置操作敏感的运维环境。

1、登录宝塔面板,点击左侧“安全”菜单,进入防火墙管理页。

2、点击右上角“添加规则”,类型选择“访问限制”。

3、在“规则名称”中填写“禁止IP直连”,在“条件”栏输入:

host !~ ^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$。

4、动作选择“拒绝”,状态码填写

403。

5、点击“确定”保存规则,防火墙将自动应用至所有网站入口。

相关文章