宝塔面板提示“您的连接不是私密连接”大概率因使用自签名证书导致证书颁发者不被浏览器信任,而非ssl证书过期;确认方式是点击地址栏锁图标查看证书颁发者是否为bt-panel-ca等非权威ca名称。

宝塔面板提示“您的连接不是私密连接”是不是因为SSL证书过期了
大概率不是。宝塔面板默认使用自签名证书,这类证书根本不会出现在公共CA的签发系统里,浏览器从一开始就不会信任它——跟“是否过期”无关。你看到的警告,本质是「证书颁发者不被信任」,不是「证书已失效」。真要是Let’s Encrypt等正式证书过期了,错误信息会明确写CERT_HAS_EXPIRED或显示具体过期日期;而宝塔自签证书报错时,通常连有效期都懒得校验,直接拦在信任链第一步。
怎么确认当前用的是自签名证书还是正式证书
打开宝塔面板登录页(如 https://your-ip:8888),点击地址栏锁图标 → 「连接是安全的」→ 「证书有效」→ 查看「颁发者」字段:
- 如果显示
BT-Panel-CA、localhost、127.0.0.1或一串随机字符串,就是宝塔自动生成的自签名证书 - 如果显示
Let's Encrypt、Sectigo、DigiCert等知名CA名称,才是正式证书,此时才需要查到期时间
查正式证书到期时间最直接的方式是运行:
openssl x509 -in /www/server/panel/ssl/fullchain.pem -noout -dates输出里的
notAfter 就是截止时间。
为什么改了系统时间也解决不了宝塔的证书警告
因为问题不在时间验证环节,而在信任锚缺失。自签名证书没有上级CA背书,浏览器找不到根证书去验证它,哪怕你把系统时间调到2030年也没用。常见误操作包括:
- 手动修改Windows的
certmgr.msc里「受信任的根证书颁发机构」——但宝塔的ca.pem没导入进去,白调 - 以为清除
SSL状态能重置信任关系——其实它只清会话缓存,不碰根证书信任列表 - 在Chrome里点「高级 → 继续前往」一次,就以为永久生效——下次重启浏览器或换设备,警告照旧
真正有效的两种解法路径
取决于你用宝塔的目的和环境:
- 开发/内网管理:执行
wget http://download.bt.cn/install/cert/ca.pem下载根证书,手动导入操作系统或浏览器的受信任根证书存储区(注意:Chrome on macOS 需导入钥匙串的「系统」而非「登录」) - 生产环境对外服务:别用宝塔自带证书。进面板「网站」→ 添加一个域名 → 开启
Let's Encrypt免费证书,确保勾选「强制HTTPS」和「自动续签」
自签名证书的信任必须显式建立,不存在“等它自己生效”或“刷新几次就好”的情况——这是最容易卡住的地方。











