网站 HTTPS 证书过期预警、手动续期与宝塔自动部署教程|证书失效浏览器拦截、全站 HTTPS 异常根治方案
时间:2026-07-31 21:25:08 来源:aliz.cn 作者:SKY 阅读:
很多站长只在建站初期申请一次 HTTPS 证书,完全忽略有效期问题:主流免费 Let’s Encrypt 证书有效期仅 90 天,一旦过期,Chrome、Edge、微信内置浏览器都会直接拦截网站,访客无法进入,搜索引擎也会判定站点不安全,大量收录页面被剔除索引。
手动一次次重复申请证书费时费力,还容易忘记续期导致网站中断。本文从过期紧急补救、手动续签、宝塔定时自动续签、服务器强制 HTTPS 规则、常见报错排查全流程讲解,Windows IIS 宝塔和 Linux 宝塔两套实操步骤全部实测可用,一次设置永久告别证书过期风险。
bash
设置每月执行一次,双重保障避免宝塔内置任务失效。
站点配置 server {} 内添加 301 跳转,访问 http 自动跳转到 https:
nginx
校验配置
Windows 宝塔无法直接一键自动续签,分为两种方案:
plaintext
直接写入站点
xml
解决:Nginx 添加
Linux:给宝塔证书目录授权
原因:证书链不完整,宝塔部署时勾选【强制添加证书链】,重新部署即可。
清除 CDN 缓存、浏览器缓存、服务器缓存,重启 Nginx/IIS 服务。
Nginx 添加头部,让浏览器永久记住 HTTPS 访问,防止用户手动输入 HTTP 访问:
nginx
手动一次次重复申请证书费时费力,还容易忘记续期导致网站中断。本文从过期紧急补救、手动续签、宝塔定时自动续签、服务器强制 HTTPS 规则、常见报错排查全流程讲解,Windows IIS 宝塔和 Linux 宝塔两套实操步骤全部实测可用,一次设置永久告别证书过期风险。
一、证书过期紧急应急处理(已经被浏览器拦截立刻操作)
- 登录宝塔面板 → 网站 → 对应站点 → SSL,删除已过期证书;
- 重新申请对应域名 SSL 证书,验证通过后部署到站点;
- 重启 Nginx/IIS 服务,清空浏览器缓存、CDN 缓存;
- 用站长工具检测 SSL 是否正常、是否存在证书链不完整问题。
小提示:Let’s Encrypt 短时间重复申请次数过多会被限制,尽量提前 7 天续签,不要等到彻底过期再操作。
二、Linux 宝塔 Nginx 环境 证书申请 + 自动续签完整步骤
2.1 手动申请与续期操作
- 宝塔面板 → 网站 → 选中网站 → SSL 选项卡;
- 证书类型选择:Let’s Encrypt 免费证书;
- 勾选对应主域名、WWW 二级域名,域名验证方式选择DNS 验证或文件验证;
- 文件验证无需解析,直接提交申请,验证通过一键部署;
- 部署后打开【强制 HTTPS】开关,保存配置。
2.2 开启自动续签(最重要,一劳永逸)
- 证书部署成功后,在 SSL 页面勾选 自动续签;
- 宝塔后台会内置计划任务,每 60 天自动检测并续签证书;
- 补充 Shell 定时任务双重兜底(宝塔计划任务添加):
bash
# 强制检测续签SSL证书,并重载Nginx
bt ssl renew
nginx -s reload
设置每月执行一次,双重保障避免宝塔内置任务失效。
2.3 Nginx 强制 HTTPS 跳转规则(部署证书必加)
站点配置 server {} 内添加 301 跳转,访问 http 自动跳转到 https:
nginx
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
# 解决混合内容报错,加载资源全部强制HTTPS
add_header Content-Security-Policy upgrade-insecure-requests;
校验配置
nginx -t 无误后重载服务。
三、Windows 宝塔 IIS 环境证书部署与续期(适配你当前服务器)
Windows 宝塔无法直接一键自动续签,分为两种方案:
方案 A:宝塔面板可视化申请部署(推荐)
- 宝塔 → 网站 → SSL → 申请 Let’s Encrypt 证书,文件验证通过;
- 部署到 IIS 站点,绑定 443 端口;
- IIS 管理器设置 HTTP 301 重定向至 HTTPS;
方案 B:IIS 手动导入 pfx 证书 + 定时续签脚本
- 证书申请后导出
.pfx格式证书,设置密码; - IIS 管理器 → 服务器证书 → 导入 pfx 文件;
- 网站绑定添加 https 443 端口,选择刚导入的证书;
- Windows 任务计划程序新建任务,每月执行一次宝塔续签命令:
plaintext
bt ssl renew
IIS web.config 强制 HTTPS 跳转规则
直接写入站点
web.config,实现 HTTP 自动跳转 HTTPS:xml
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
四、证书部署高频报错全套解决办法
问题 1:域名所有权验证失败
- 文件验证:确保网站根目录可访问、伪静态没有拦截
.well-known验证文件夹; - DNS 验证:解析记录添加正确,等待 DNS 生效再提交申请。
问题 2:部署后部分图片 / 样式打不开(混合内容错误)
解决:Nginx 添加
upgrade-insecure-requests头,批量替换全站内容 HTTP 为 HTTPS(可直接用第 5 天帝国 CMS 批量替换 SQL 语句)。
问题 3:自动续签失败,提示权限不足
Linux:给宝塔证书目录授权
chmod -R 755 /www/server/panel/vhost/ssl; Windows:给 BtSoft 文件夹添加 Everyone 读取写入权限。
问题 4:微信打开提示证书风险
原因:证书链不完整,宝塔部署时勾选【强制添加证书链】,重新部署即可。
问题 5:续签后网站不生效
清除 CDN 缓存、浏览器缓存、服务器缓存,重启 Nginx/IIS 服务。
五、额外安全优化:HSTS 强制 HTTPS 缓存
Nginx 添加头部,让浏览器永久记住 HTTPS 访问,防止用户手动输入 HTTP 访问:
nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
六、极简执行流程总结
- 证书到期前 7 天手动 / 自动续签证书;
- 服务器部署证书并开启 443 端口监听;
- 添加 HTTP 301 强制跳转规则;
- 开启 HSTS 头解决混合内容;
- 设置计划任务自动续签兜底;
- 清理所有缓存验证访问正常。
本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载
发表评论
共有0条评论