宝塔面板的“DNS解析”功能仅为本地展示界面,不对外生效;它仅将记录存入自身数据库,不修改/etc/hosts、不启动DNS服务、不监听53端口,域名解析必须在域名商或DNS服务商处配置A/CNAME记录。

宝塔面板内置的“DNS解析”功能不能替代真实DNS服务商,它只是个本地记录展示界面,不对外生效。 你看到的“添加DNS记录”按钮,实际只写入面板自己的缓存或日志,不会修改服务器上的 /etc/hosts,更不会发布到公网 DNS 系统。真要让域名访问你的网站,必须去域名注册商或 DNS 服务商(如阿里云、Cloudflare)配 A 记录或 CNAME。
为什么宝塔里有个“DNS解析”菜单却不起作用
这个菜单是历史遗留设计,早期版本曾尝试集成简易 DNS 服务,但后续因安全与实用性问题被弃用,UI 却没同步下线。现在点击“添加DNS记录”,面板只会把记录存进自己的数据库表(如 domain 表),不启动任何 DNS 服务进程(比如 named 或 dnsmasq),也不监听 53 端口。所以:
- 本地
ping或nslookup仍查不到你填的记录 - 别人访问你的域名,完全不受该页面影响
- 它和“网站 → 域名管理”里的绑定是两套逻辑,互不联动
真正起效的域名绑定流程只有两步
宝塔能识别并响应某个域名,靠的是 Nginx/Apache 的 server_name 配置,不是 DNS 解析本身。所以你要做的是:
- 在域名服务商处添加 A 记录,指向服务器公网 IP(例如:
example.com→203.205.128.45) - 在宝塔“网站”列表中,确保该域名已添加为站点(即存在对应配置文件,含
server_name example.com www.example.com) - 如果用了 CDN(比如阿里云 ESA),则需在 CDN 控制台配好源站,并在域名商处把解析改为 CNAME 到 CDN 提供的加速域名(如
example.com.cdn.aliyuncs.com)
常见错误现象及验证方法
很多人卡在“明明填了,却显示未解析”或“打不开网站”,其实和宝塔 DNS 页面毫无关系:
-
dig example.com +short返回空或旧 IP → DNS 没生效,等 TTL 或清本地缓存,别信宝塔界面上的“重新检测” - 能
curl -I http://example.com返回 200 但浏览器打不开 → 检查 HTTPS 强制跳转、SSL 证书是否部署成功、浏览器 HSTS 缓存 - 宝塔提示“未解析”,但网站能正常访问 → 完全可忽略,那是面板根据自身 DNS 表查询失败的误报
- 添加了 www 子域名却无法访问 → 必须单独加一条 A 记录(
www→ 同一 IP),或配泛解析(*.example.com→ IP)
最易被忽略的一点:宝塔从不自动刷新 Nginx 的 server_name 列表。你手动改过配置文件后,必须点“重载配置”或执行 bt reload,否则新域名即使 DNS 已生效,Nginx 也不会接请求。

















