登录
首页 >  文章 >  php教程

宝塔面板SSL证书配置教程

时间:2026-05-01 15:34:44 304浏览 收藏

宝塔面板配置SSL证书看似简单,实则暗藏多个关键陷阱:申请失败往往源于域名解析未生效、80端口未放行或.well-known目录冲突;自动续签悄然失效只因定时任务被禁用或“强制HTTPS”未勾选;泛域名证书必须绕过面板用acme.sh手动DNS验证;而HTTPS启用后页面打不开,八成是混合内容作祟——页面内仍存在http链接。真正稳固的HTTPS,依赖DNS稳定性、续签链路完整性与全站链接协议一致性三者缺一不可,任何一个环节疏忽都会让安全连接形同虚设。

宝塔面板如何配置SSL证书_通过Let\'s Encrypt免费开启HTTPS

宝塔面板申请 Let's Encrypt 证书失败:常见报错和前置条件

直接卡在“验证失败”或提示 dns unauthorizedconnection refused,大概率不是证书本身的问题,而是域名解析或服务器连通性没到位。

必须确认三点:
— 域名已正确解析到当前服务器 IP(A 记录),且 TTL 已生效(可 dig example.com +short 验证);
— 服务器 80 端口对外开放(宝塔防火墙 + 云厂商安全组都要放行);
— 网站根目录下不能存在 .well-known 手动创建的残留文件,Let’s Encrypt 会自己写入,冲突会导致验证中断。

“自动续签失败”背后的两个隐藏开关

宝塔默认开启自动续签,但实际生效要同时满足两个条件:定时任务没被禁用,且网站配置里勾了“强制 HTTPS”。漏掉任意一个,证书到期后就只会静默失效,浏览器突然报 NET::ERR_CERT_DATE_INVALID

  • 检查定时任务:进「计划任务」→ 找到名为 Let's Encrypt SSL Certificate Renewal 的任务,状态必须是“启用”
  • 检查网站设置:点开对应站点 →「SSL」→ 确保勾选了 强制 HTTPS(它不只跳转,还触发续签逻辑)
  • 手动测试续签:在证书列表点「续签」,观察日志里是否出现 renewed successfully,别只看界面按钮变绿

泛域名证书(*.example.com)在宝塔里走不通?

宝塔面板 UI 上的 Let's Encrypt 申请入口不支持 DNS-01 挑战,而泛域名必须走 DNS 验证。想用泛域名,就得绕过面板,手动操作。

可行路径只有一条:
— 在服务器终端执行 acme.sh --issue -d example.com -d *.example.com --dns dns_ali(以阿里云 DNS 为例)
— 成功后把生成的 fullchain.cerexample.com.key 文件路径填回宝塔「SSL」→「其他证书」里
— 注意:acme.sh 必须提前配置好 API 密钥,且域名 DNS 服务商得在 acme.sh 支持列表中

HTTPS 启用后网站打不开或资源加载失败

这不是证书问题,是混合内容(Mixed Content)作祟。浏览器看到页面里有 http:// 的图片、JS 或 CSS,会直接拦截,控制台报 Mixed Content: The page at 'https://...' was loaded over HTTPS

修复方式很直接:
— 进网站根目录,搜索所有 http:// 开头的静态链接,改成 //https://
— WordPress 类站点,进「设置」→「常规」,把「WordPress 地址(URL)」和「站点地址(URL)」都改成 https:// 开头
— 宝塔自带的「强制 HTTPS」只管跳转,不管页面内链,这点容易忽略

证书能申请下来只是第一步,真正稳住 HTTPS,关键在 DNS 解析稳定性、自动续签链路完整性和页面内链协议一致性。这三个地方任何一个断掉,都会让 HTTPS 变成“看着开了,实际掉链子”的状态。

终于介绍完啦!小伙伴们,这篇关于《宝塔面板SSL证书配置教程》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>