Apache SSL证书到期后必须重新申请并部署新证书,不能续期;需登录CA平台重新签发、上传新证书文件、更新虚拟主机配置中的SSLCertificateFile等路径,通过apachectl configtest验证后热重载生效,Let’s Encrypt用户可配置certbot自动续期。

Apache SSL证书到期后不能“续期”,必须重新申请并部署新证书。整个过程不需停机,但需谨慎操作避免配置错误导致HTTPS服务中断。
一、申请并获取新证书
你无法延长旧证书有效期,必须走完整签发流程:
- 登录原CA平台(如DigiCert、Sectigo、Let’s Encrypt或云厂商控制台),找到过期证书,点击“重新申请”或“签发新证书”
- 按需选择类型:DV(快速验证)、OV(企业验证)或通配符/多域名证书
- 完成域名验证:推荐DNS验证(加TXT记录),最快且无需网站可访问;若用Let’s Encrypt,可直接运行
certbot --apache -d example.com自动完成验证与安装 - 下载证书包:通常包含
domain.crt(公钥证书)、domain.key(私钥)和ca-bundle.crt(中间证书链)
二、上传并替换证书文件
把新证书安全传到Apache服务器指定目录(如/etc/httpd/conf/ssl.crt/和/etc/httpd/conf/ssl.key/),建议用不同文件名避免覆盖:
- 例如:
example_com_2026.crt、example_com_2026.key、example_com_2026_chain.crt - 确认私钥权限为
600(chmod 600 *.key),防止未授权读取 - 不要直接覆盖旧文件——保留原证书备份,出问题时可秒级回滚
三、更新Apache配置
编辑对应虚拟主机的SSL配置段(常见于/etc/httpd/conf.d/ssl.conf或站点专属conf文件):
- 定位
<VirtualHost *:443>区块 - 修改三处路径指向新文件:
SSLCertificateFile /etc/httpd/conf/ssl.crt/example_com_2026.crt<br>SSLCertificateKeyFile /etc/httpd/conf/ssl.key/example_com_2026.key<br>SSLCACertificateFile /etc/httpd/conf/ssl.crt/example_com_2026_chain.crt
- 注意:Apache不支持
SSLCertificateChainFile指令(已弃用),应使用SSLCACertificateFile或合并证书链到SSLCertificateFile中
四、验证并生效
别急着重启,先做两步安全检查:
- 执行
apachectl configtest,显示Syntax OK才继续 - 运行
openssl x509 -in /path/to/new.crt -text -noout | grep "Not After"确认新证书截止日期正确 - 执行
sudo systemctl reload httpd(或apachectl graceful)热重载配置——服务不中断 - 浏览器访问
https://yourdomain.com,点击地址栏锁图标查看证书有效期是否更新
如果用的是Let’s Encrypt + Certbot,还可设置自动续期:crontab -e添加一行0 2 * * 1 /usr/bin/certbot renew --quiet --post-hook "systemctl reload httpd",每周一凌晨2点检测并更新即将过期的证书。


















