宝塔面板登录提示「证书不受信任」怎么办?用 acme.sh 配免费 IP HTTPS 证书
宝塔面板的 HTTPS 访问默认用的是自签名证书:它虽然能加密传输,但没被浏览器和操作系统信任根收录,所以登录面板时经常跳出「证书不受信任」「连接不安全」的提示,得手动确认才能继续。想换成浏览器直接可信的证书,又没域名怎么办?用 acme.sh 申请 Let’s Encrypt 的免费 IP HTTPS 证书,部署到面板即可(见使用 acme.sh 为宝塔面板配置免费 IP HTTPS 证书)。
为什么面板会提示「证书不受信任」
因为默认的自签名证书不在浏览器信任列表里。而 Let’s Encrypt 现已正式支持免费 IP HTTPS 证书,即使没有域名,也能用服务器公网 IP 申请到浏览器可信的证书,替换掉默认的自签名证书。
注意:Let’s Encrypt 申请的 IP 证书有效期最长仅有 160 小时,具体以 Let’s Encrypt 官方说明 为准。
第一步:安装 acme.sh 并切换默认 CA
用 SSH 或面板终端登录服务器,执行以下命令安装 acme.sh(把 my@example.com 换成你的真实邮箱):
curl https://get.acme.sh | sh -s email=my@example.com
安装完成后执行以下命令使 acme.sh 生效(或重新进一次终端):
source ~/.bashrc
执行 acme.sh --version 确认安装成功(预期看到版本号输出),再把 acme.sh 默认 CA 切换为 Let’s Encrypt:
acme.sh --set-default-ca --server letsencrypt
第二步:创建用公网 IP 访问的站点
在宝塔面板新建一个站点,域名填服务器的公网 IP 地址,其他选项按需配置后点「确定」。

第三步:申请 IP 证书
在终端执行以下命令申请 IP 证书(把 YOUR_IP_ADDRESS 换成你的服务器公网 IP):
acme.sh --issue --cert-profile shortlived --days 3 -d YOUR_IP_ADDRESS --webroot /www/wwwroot/YOUR_IP_ADDRESS/
例如服务器 IP 是 114.132.47.153:
acme.sh --issue --cert-profile shortlived --days 3 -d 114.132.47.153 --webroot /www/wwwroot/114.132.47.153/

第四步:把证书部署到面板
申请成功后,执行以下命令把证书写进面板的 SSL 目录(把 YOUR_IP_ADDRESS 换成你的公网 IP):
acme.sh --install-cert -d YOUR_IP_ADDRESS \
--key-file /www/server/panel/ssl/privateKey.pem \
--fullchain-file /www/server/panel/ssl/certificate.pem \
--reloadcmd "service bt restart"
请用独立的 SSH 终端窗口执行,不要用面板终端,否则面板会因重启而中断当前操作。
命令里的 --reloadcmd "service bt restart" 用于在证书更新后自动重启宝塔面板服务,让新证书生效。执行前还要确认已在面板设置中开启了面板 SSL 功能(新安装的面板通常已默认开启)。
部署完成后,面板的 HTTPS 访问就换成了浏览器可信的 IP 证书:

常见问题
为什么宝塔面板登录会提示「证书不受信任」?
因为面板默认用自签名证书做 HTTPS 加密,它没有被浏览器和操作系统信任根收录,所以访问时会提示「证书不受信任」「连接不安全」,需要手动确认才能继续。
没有域名,能用 acme.sh 给宝塔面板配 HTTPS 证书吗?
可以。Let's Encrypt 已支持免费 IP HTTPS 证书,无需域名,直接用服务器公网 IP 申请并部署到面板即可。
用 acme.sh 申请的 IP 证书有效期多长?
Let's Encrypt 申请的 IP 证书有效期最长仅 160 小时,具体以 Let's Encrypt 官方说明为准。
部署面板证书时为什么要在独立 SSH 终端执行?
因为部署命令里的 --reloadcmd 会重启面板服务,用面板终端执行会因面板重启而中断当前操作,所以要用独立的 SSH 终端窗口。
面板 SSL 功能要提前开启吗?
要。执行部署命令前需确认已在面板设置中开启面板 SSL 功能(新安装的面板通常已默认开启)。