泛域名解析需在dns服务商配置.example.com指向服务器ip,再在宝塔添加绑定.example.com的站点;宝塔本身不处理dns,也无“泛解析”功能,常见错误是仅操作宝塔而忽略dns配置。

泛域名解析在宝塔里根本不是 DNS 设置
宝塔面板本身不处理 DNS 解析,所谓“配置泛域名解析”实际是两件事:DNS 服务商配 *.example.com 指向服务器 IP,然后在宝塔里为该域名(或子域名)添加网站。很多人卡在第一步,却在宝塔里反复点“泛解析”按钮,结果 404——因为宝塔根本没有这个功能。
常见错误现象:访问 sub.example.com 显示“无法访问此网站”或宝塔默认页;原因八成是 DNS 还没生效,或没在宝塔里添加对应站点(哪怕只是空站)。
- DNS 泛解析必须在域名注册商或云厂商(如阿里云、腾讯云 DNS 控制台)设置,记录类型选
A,主机名填*,记录值填你的服务器公网 IP - DNS 生效有缓存延迟,用
dig sub.example.com +short或nslookup sub.example.com确认是否已返回正确 IP - 宝塔里必须至少添加一个网站绑定
example.com或*.example.com(注意:这里填*.example.com是让宝塔接收所有子域请求,但不等于自动建站)
宝塔中添加“通配符站点”的真实操作路径
宝塔不支持自动创建子域名站点,但可以通过“添加站点”时填写 *.example.com 作为域名,让 Nginx/Apache 接收所有匹配请求——这是实现统一入口的关键一步。后续路由、重写或应用层分发都基于此。
使用场景:SaaS 多租户、用户自定义二级域名(如 user1.site.com)、内部测试环境快速接入。
- 添加站点时,“域名”栏直接输入
*.example.com(不要加 http://,不要空格) - 确保该站点的根目录存在且可读,否则所有子域访问都会报
500 Internal Server Error - 若同时存在
example.com和*.example.com两个站点,优先级取决于 Nginx 的 server_name 匹配顺序——宝塔默认把精确域名排在前面,所以example.com会优先生效 - Apache 用户需确认启用了
mod_vhost_alias,否则*.example.com不生效;Nginx 用户无需额外操作,宝塔生成的配置已包含server_name *.example.com;
子域名 404 或 502?检查这三个配置点
即使 DNS 和宝塔站点都配好了,仍可能 404(找不到页面)或 502(后端没响应),问题通常不在泛解析本身,而在请求到达后的处理链路上。
- 检查站点根目录下的
.htaccess(Apache)或nginx.conf(Nginx)是否误写了强制跳转/重写规则,比如把所有子域都 301 到主站 - 确认后端服务(如 Node.js、Python Flask)是否监听
0.0.0.0:port而非127.0.0.1:port,否则反向代理无法连通 - 如果用了反向代理,宝塔里“反向代理”设置中的目标 URL 必须带协议和端口,例如
http://127.0.0.1:3000;漏掉http://会导致 502 - PHP 项目注意
$_SERVER['HTTP_HOST']取到的是真实访问的子域名(如api.example.com),业务逻辑需据此路由,不能硬编码主域名
泛域名 + SSL 证书怎么自动续期
Let’s Encrypt 支持泛域名证书,但必须用 DNS API 方式验证(HTTP 验证不支持 *.example.com),宝塔内置的“申请证书”功能只有对接了对应云厂商 DNS 权限才能自动完成。
性能影响:泛域名证书单次签发成本略高,但和单域名证书一样,只在 TLS 握手阶段加载,不影响运行时性能。
- 先在阿里云/腾讯云等平台创建 DNS API 密钥,并在宝塔「SSL」→「DNS API」中填写对应参数
- 申请时勾选
泛域名,域名填example.com,系统会自动加*.example.com - 首次申请成功后,宝塔会自动每 60 天续期;若 DNS API 权限失效或域名 DNS 被改,续期会失败,日志里提示
dnsauth failed - 不推荐手动上传泛域名证书:宝塔的证书管理界面不校验 SAN 是否含
*.example.com,但 Nginx 加载时会报错退出,导致整个站点不可用
真正麻烦的是 DNS API 权限维护和跨账号迁移——换个云厂商就得重配一次,而且很多小众 DNS 服务商根本不被宝塔支持。这点容易被忽略,直到某天证书过期才发现没法续。










