宝塔面板泛域名绑定设置

宝塔面板泛域名绑定设置

  • admin admin
  • 2026-09-13
  • 3488
  • 0

宝塔面板泛域名绑定设置是指在宝塔面板中为站点添加 *.example.com 形式的泛解析域名并完成绑定,使所有未被单独配置的子域名自动指向该站点。泛域名绑定涉及的两个层面泛域名绑定由域名解析和宝塔站点绑定两部分组成,域名解析负责将任意子域名解析到服务器I...

优惠价格:¥ 4
当前位置:首页 > 宝塔服务器面板 > 宝塔面板泛域名绑定设置
详情介绍

宝塔面板泛域名绑定设置是指在宝塔面板中为站点添加 *.example.com 形式的泛解析域名并完成绑定,使所有未被单独配置的子域名自动指向该站点。

泛域名绑定涉及的两个层面

泛域名绑定由域名解析和宝塔站点绑定两部分组成,域名解析负责将任意子域名解析到服务器IP,宝塔站点负责在Web服务器中匹配这些子域名并指向对应网站目录。

宝塔面板泛域名绑定设置  第1张

域名解析层面的泛解析

在域名DNS控制台添加一条主机记录为 的解析记录,类型通常选择 A,记录值为服务器IPv4地址,如果使用IPv6,则添加 AAAA 记录,也可以使用 CNAME 记录指向一个已解析的域名,但使用CNAME泛解析时需确认DNS服务商允许 主机记录。

DNS记录示例:

记录类型主机记录记录值TTL
A0.2.1600
AAAA2001:db8::1600

添加泛解析后,a.example.comb.example.comtest.example.com 等任意一级子域名都会解析到该记录值,对于多级子域名如 x.y.example.com,大多数DNS服务商的 记录不会自动匹配多级,需要单独添加 *.y.example.com 或使用支持多级通配的DNS服务。

宝塔站点绑定层面的泛域名

当子域名请求到达服务器后,Nginx或Apache根据HTTP请求头中的 Host 字段匹配对应的站点,宝塔面板允许在站点域名中添加 *.example.com,自动生成包含通配符的服务器配置,使匹配到的子域名进入相同网站目录。

在域名服务商处添加泛解析记录

以下以常见DNS控制台为例说明。

  1. 登录域名注册商或DNS托管平台,进入域名解析设置。

  2. 点击“添加记录”。

  3. 记录类型选择 A

  4. 主机记录填写 ,不要填写具体子域名。

  5. 记录值填写宝塔服务器公网IPv4地址。

  6. TTL可保持默认600秒,便于快速生效。

  7. 确认保存。

如果服务器仅使用IPv6,记录类型选择 AAAA,记录值填写IPv6地址,如果使用CNAME方式,主机记录填写 ,记录值填写目标域名,lb.example.com,需要注意CNAME与MX记录、NS记录存在冲突时需按DNS规范处理。

保存后可以通过以下命令验证解析是否生效:

nslookupa.example.com
pinga.example.com

Windows PowerShell可执行:

Resolve-DnsNamea.example.com

在宝塔面板中添加站点并绑定泛域名

新建站点时直接绑定

登录宝塔面板,进入“网站”管理页面。

点击“添加站点”。

在“域名”输入框中填写以下两行:

example.com
*.example.com

说明:裸域名 example.com 不会被 *.example.com 自动匹配,需要单独填写,多个域名每行一个。

依次选择网站根目录、PHP版本、数据库选项等,根目录默认 /www/wwwroot/example.com,可自定义。

如果不需要FTP和数据库,可取消对应选项。

点击“提交”后,宝塔会自动创建网站目录,并在Nginx或Apache配置中写入如下内容。

Nginx配置示例:

server{
listen80;
server_nameexample.com*.example.com;
root/www/wwwroot/example.com;
indexindex.phpindex.html;
...
}

Apache配置示例:

<VirtualHost*:80>
ServerNameexample.com
ServerAlias*.example.com
DocumentRoot/www/wwwroot/example.com
...
</VirtualHost>

为已有站点追加泛域名绑定

进入“网站”列表,找到目标站点,点击“设置”。

在“域名管理”中追加一行:

*.example.com

保存后,宝塔会重新生成对应站点配置,如果使用Nginx,可在服务重启后生效。

Nginx与Apache对泛域名的匹配规则

Nginx的匹配行为

Nginx的 server_name 支持通配符,*.example.com 可以匹配 a.example.comb.example.com 等一级子域名,但不能匹配裸域名 example.com,也不能匹配 a.b.example.com,如果同时配置 example.com*.example.com,则两者均可访问。

当多个站点配置存在泛域名时,Nginx按以下优先级匹配:

  1. 精确名称

  2. 以 开头的最长通配符名称

  3. 以 结尾的最长通配符名称

  4. 正则表达式名称

如果存在 a.example.com 的独立站点,它会优先于 *.example.com 泛域名站点被访问,这适合为部分子域名分配独立目录或独立程序。

Apache的匹配行为

Apache使用 ServerAlias *.example.com 实现类似功能,同样只匹配一级子域名,如果有独立子域名虚拟主机,Apache会优先匹配更精确的 ServerNameServerAlias

多级子域名的处理

若需要 a.b.example.com 这类多级子域名也访问同一站点,可手动修改站点配置文件,Nginx可将:

server_nameexample.com*.example.com;

改为:

server_nameexample.com*.example.com~^.*\.example\.com$;

Apache可在站点配置中增加:

ServerAlias*.*.example.com

但Apache的 不能跨点号,多级需要用正则或逐级配置,修改后需在宝塔面板中重载服务,且注意宝塔重新保存站点时可能覆盖手动修改,因此建议修改后记录备份或使用宝塔的配置文件保留机制。

为泛域名站点配置HTTPS证书

泛域名站点通常需要一张覆盖所有子域名的通配符证书。

申请Let's Encrypt泛域名证书

Let's Encrypt对泛域名证书仅支持DNS验证,不支持HTTP验证,宝塔面板提供DNS验证入口。

进入站点设置中的“SSL”或“Let's Encrypt”页面,勾选“使用DNS验证”,选择对应的域名解析服务商并填入API密钥,或手动配置TXT记录。

证书域名处填写:

example.com
*.example.com

申请成功后,宝塔会保存证书并自动配置HTTPS,Let's Encrypt泛域名证书有效期为90天,宝塔可自动续期。

手动上传商业泛域名证书

如果已购买商业通配符证书,可在“SSL”页面选择“其他证书”,粘贴PEM格式证书和私钥,保存后启用强制HTTPS。

通配符证书的匹配范围

商业通配符证书或Let's Encrypt泛域名证书通常只覆盖一级子域名,*.example.com 覆盖 a.example.com,不覆盖 a.b.example.com,若需要覆盖多级子域名,需要申请多个泛域名证书或使用包含多个条目的证书,并在Web服务器中配置多个证书。

泛域名站点中的子域名路由

泛域名绑定后,所有子域名默认进入同一个网站根目录,实际业务可通过程序逻辑或Web服务器规则将不同子域名指向不同内容。

程序内部判断子域名

在PHP中可以获取当前访问的Host并分发:

$host=$_SERVER['HTTP_HOST']??'';
$subdomain=str_replace('.example.com','',$host);
switch($subdomain){
case'shop':
//加载商城模块
break;
case'api':
//加载接口模块
break;
default:
//加载默认站点
}

这种方式适合多租户应用、用户子站点或SaaS平台。

Nginx按子域名分发到不同目录

如果不修改程序,可以使用Nginx的 maprewrite 规则,在站点配置文件中添加:

map$host$subsite{
defaultdefault;
shop.example.comshop;
api.example.comapi;
}
server{
listen80;
server_nameexample.com*.example.com;
root/www/wwwroot/example.com/$subsite;
indexindex.phpindex.html;
...
}

实际使用时可结合宝塔的“配置文件”功能进行修改,Nginx map 指令需放在 http 段,宝塔站点配置通常包含在 http 段内,可在站点配置顶部加入。

反向代理到不同后端服务

宝塔面板支持为站点添加反向代理,泛域名站点可对指定子域名设置反向代理,

子域名:api.example.com
目标URL:http://127.0.0.1:8080
发送域名:$host

配置后,api.example.com 的请求会被转发到本地8080端口服务,其他子域名仍走原站点目录。

常见问题与故障排查

任意子域名解析后仍无法访问

先使用 ping random.example.com 检查是否解析到服务器IP,如果解析未生效,检查DNS记录是否保存成功、TTL是否过长导致缓存未更新,可降低TTL后重新测试。

如果解析正常但访问返回默认页面或404,请检查宝塔站点是否已绑定 *.example.com,并确认Nginx/Apache服务已重载。

访问裸域名时出现证书错误

如果证书仅申请了 *.example.com,裸域名 example.com 未在证书范围内,访问裸域名会提示证书不匹配,申请证书时应同时包含 example.com*.example.com

多级子域名无法匹配HTTPS证书

*.example.com 证书不覆盖 a.b.example.com,如需支持多级子域名,可调整Web服务器配置并用不同证书,或为多级子域名单独申请证书。

已被独立绑定的子域名被泛域名站点拦截

a.example.com 已配置为独立站点时,Web服务器会优先匹配精确名称,如果访问结果不正确,检查独立站点的域名绑定是否缺失,以及泛域名配置是否误写为更优先的规则。

泛域名HTTPS续期失败

Let's Encrypt DNS验证依赖DNS服务商API接口的授权有效性,若API密钥过期、权限不足或DNS记录未自动清理,续期可能失败,在宝塔面板中检查DNS接口授权状态,并重新申请或手动完成TXT验证。

安全加固建议

泛域名绑定意味着任何未被明确配置的子域名都可能解析到服务器,增加未授权访问风险。

  1. 在站点程序中校验子域名白名单,拒绝恶意或未注册子域名。

  2. 为泛域名站点配置全站HTTPS,并强制跳转。

  3. 对敏感子域名(如 admin.example.comapi.example.com)单独绑定并设置访问控制或IP白名单。

  4. 开启访问日志,定期检查异常子域名访问记录。

  5. 如果不需要泛解析,尽量删除DNS中的 记录,只保留实际使用的子域名。

  6. 宝塔面板自身启用安全入口、面板SSL和访问限制,避免面板被恶意登录。

0