
宝塔面板内置的“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 也不会接请求。
• 在域名服务商处添加 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 也不会接请求。