宝塔面板插件卡在“下载中”主因是元数据(www.bt.cn/api/plugin)或安装脚本(download.bt.cn)任一链路被阻断;需先用curl测试接口连通性,再针对性换源(如ghproxy.com)、禁用ssl验证、绑定可信ip或升级面板版本。

宝塔面板安装插件卡在“下载中”,不是插件本身有问题,而是面板从 www.bt.cn 拿元数据、再从 download.bt.cn 下载脚本这两步里至少有一环被阻断——换阿里云或清华源能绕过境外链路和 DNS 污染,但必须对症换,不能只改一个地方。
插件列表能显示但点安装就卡住:确认是 download.bt.cn 下载链路断了
这是最常见的情况:面板 UI 能刷出插件列表,说明 www.bt.cn/api/plugin 这个接口通了;但点击安装后卡在“正在下载安装脚本”,代表拼出来的具体 URL(比如 https://download.bt.cn/install/plugin/nginx/install.sh)无法访问。
- 打开浏览器开发者工具(F12),切到 Network 标签,点击安装,找到状态为
pending或返回403 Forbidden的请求,复制完整 URL - 在终端执行:
wget -S "复制的URL",看是否返回 403、404 或超时 - 若确认是
download.bt.cn问题,直接替换域名:把 URL 中的download.bt.cn换成ghproxy.com/https://raw.githubusercontent.com/btpanel/bt-plugin/master/,注意保留原始路径(如/plugin/nginx/install.sh) - 别用非官方代理站,像
ghproxy.net已被部分用户反馈证书异常或返回空响应,ghproxy.com是当前实测最稳的
插件列表都刷不出来:www.bt.cn 元数据接口不通
执行 curl -I https://www.bt.cn/api/plugin,如果卡住、返回 SSL certificate problem 或 Connection timed out,说明元数据层就断了。这不是换插件源能解决的,得先让面板能连上 www.bt.cn。
- 临时关闭证书校验:编辑
/www/server/panel/data/panelConfig.conf,把ssl_verify改为0,然后运行bt restart - 检查安全组是否放行出向 443 端口——很多云厂商默认只放开入向,出向被限会导致所有 HTTPS 请求失败
- 若
nslookup www.bt.cn解析到非103.224.251.67的 IP,说明 DNS 污染,直接绑定:echo "103.224.251.67 www.bt.cn" >> /etc/hosts - 不推荐改
/etc/resolv.conf,因为宝塔部分请求走 IP 直连,DNS 设置无效
换源后仍卡住:检查面板版本与配置文件是否匹配
旧版宝塔(≤ 7.8.0)不支持自定义插件源,强行改配置不会生效。而且 /www/server/panel/data/backup_url.pl 这个文件必须以 / 结尾,且内容要能直接在浏览器打开看到 JSON 列表,否则面板静默失败,不报错也不刷新。
- 先确认版本:
bt 16,低于 7.9.0 建议先升级面板再操作 - 编辑
/www/server/panel/data/backup_url.pl,内容替换成:https://ghproxy.com/https://raw.githubusercontent.com/btpanel/bt-plugin/master/(结尾斜杠不能少) - 删缓存:
rm -f /www/server/panel/data/plugin.json.cache,再执行bt 11重载面板 - 别碰
/www/server/panel/data/plugin.json文件——它是运行时生成的缓存,手动改会被覆盖,且格式错误会导致整个插件商店白屏
真正容易被忽略的是:换源只是让下载路径通了,但若系统底层 wget 或 curl 不支持 TLS 1.2(比如 CentOS 6 或老 Ubuntu),或者时间偏差超过 5 分钟,HTTPS 握手照样失败——卡住时先跑一遍 curl -I https://ghproxy.com,看能不能拿到 200,比盲目换源更省时间。











