根本原因是DNS解析失败或CDN节点网络不可达,需通过ping/nslookup获取可用IP写入/etc/hosts,并用curl验证HTTPS连通性,再重启面板服务。

宝塔面板提示“无法连接官网获取软件列表”时,根本原因通常是 DNS 解析失败或 CDN 节点网络不可达
这不是面板本身故障,而是本地服务器到 www.bt.cn 或其 CDN 域名(如 download.bt.cn)的 TCP 连接被阻断或超时。常见于国内部分云厂商安全组拦截、运营商 DNS 污染、或宝塔官方某 CDN 节点临时不可用。直接改 /etc/hosts 绕过 DNS 是最快速验证和临时恢复的方式。
如何找到可用的宝塔官网节点 IP 并写入 hosts
宝塔未公开固定 IP,但可通过以下方式获取当前可用节点:
- 在能正常访问宝塔官网的另一台服务器(或本地电脑)上执行:
ping www.bt.cn或nslookup www.bt.cn,记录返回的 IP(注意:优先选延迟低、不丢包的 IPv4 地址) - 若 ping 不通,改用:
curl -I https://www.bt.cn 2>/dev/null | head -1,再结合dig +short www.bt.cn查 CNAME 和最终 A 记录 - 更稳妥的方式是查宝塔官方文档或社区公告中曾公布的备用节点,例如:
120.25.237.126、119.23.241.118(仅为示例,实际请以最新实测为准) - 确认 IP 后,编辑
/etc/hosts:echo "120.25.237.126 www.bt.cn download.bt.cn" >> /etc/hosts
修改后必须验证连通性,否则面板仍会失败
hosts 生效 ≠ 网络可达。需逐项确认:
- 用
ping -c 3 120.25.237.126测试基础 ICMP 连通性(部分节点禁 ping,此项非必须) - 关键测试:
curl -I https://www.bt.cn --connect-timeout 5 -m 10 2>/dev/null | head -1—— 必须返回HTTP/2 200或HTTP/1.1 200 - 同步验证下载域名:
curl -I https://download.bt.cn --connect-timeout 5 -m 10 2>/dev/null | head -1 - 如果 HTTPS 失败但 HTTP 成功,说明证书或 TLS 版本问题,此时不能仅靠 hosts 解决,需检查系统时间、ca-certificates 是否更新
面板内刷新软件列表仍失败?重点排查这几个地方
即使 hosts 和 curl 都通,面板仍报错,大概率是缓存或权限问题:
- 重启面板服务:
bt restart(不是 reload),确保它重新读取 hosts - 检查面板日志:
tail -f /www/wwwlogs/panel.log,搜索get_soft_list或Connection refused看具体失败 URL 和错误码 - 确认面板没走代理:查看
/www/server/panel/data/proxy.conf是否存在且内容为空;若使用了反向代理,需确保 proxy_pass 指向的是真实 IP 而非域名 - 某些新版宝塔(如 8.0+)会校验 HTTPS SNI,若你填的 IP 对应的 CDN 不支持泛解析或 SNI 匹配失败,也会拒绝连接 —— 此时换另一个 IP 更有效
真正卡住的地方往往不是改哪行 hosts,而是改完之后没验证 HTTPS 可达性,或者忽略了面板进程是否已重载系统 hosts 缓存。多试两三个不同 IP,比反复修改同一行更省时间。










