本篇文章聊一下免费 SSL 证书的申请。目前最常用的免费证书是 Let's Encrypt,但是它的有效期只有 90 天,到期需要手动更新。不过也有很多工具可以自动更新续期,例如:
- 宝塔面板
- certbot
- Nginx Proxy Manager
- nginxWebUI
- 等…
现在我部分域名使用 Cloudflare(以下简称 CF
) 进行托管,而 CF 可以免费申请长达 15年
有效期的 SSL 证书,所以今天给大家分享一下申请方式。即使申请的证书是 15年,也是内部有效时间。就是指 CF 的自签证书(理论上可以自签50年、100年都可以)。对外,即客户层面看到的证书,还是 CF 帮我们自动申请的 Let's Encrypt 的 E1证书。
所以必须搭配 Cloudflare 的 CDN 使用;(也就是需要开启"小云朵");
开启 CDN 后,国内访问速度可能会变慢。
申请步骤
登录 CF,域名需要托管到 CF 上面
点击要申请的 SSL 的网站
点击左侧菜单"SSL/TLS"下面的"概述",将 SSL/TLS 加密模式设置为"完全"或者"完全(严格)
点击左侧菜单"SSL/TLS"下面的"源服务器",选择"创建证书"
选择"私钥类型",填写"主机名",选择证书有效期,然后"创建"
然后会生成"源证书"(pem)和"私钥"(key),这里的 "私钥"(key) 只出现一次,切记复制保存,切记复制保存,切记复制保存,然后点击"确认"即可
如果 "源证书"(pem)忘记了,可以点击"下载"查看,之后就可以在你服务器/VPS上配置这个证书了。
配置 DNS 解析时一定要开启"小云朵",否则网站会提示"不能验证该证书"
其他
可以设置"始终使用 HTTPS"和"HTTP 严格传输安全 (HSTS)"策略
如果想换证书,直接"吊销",重新申请即可!!!
个人使用 Let's Encrypt 申请的证书是 R3 级别的,CF 帮我们申请的证书是 E1 级别的,它们都是免费的 SSL 证书,具有相同的加密强度。
主要区别在于颁发机构、支持的域名数量、有效期和自动续订。Let's Encrypt R3证书需要手动续订,而Cloudflare E1证书会自动续订。Let's Encrypt R3证书适用于个人网站、博客和小型企业网站,而Cloudflare E1证书适用于中小型企业网站和电子商务网站。
1. 确认需要备份的文件
SSL 证书通常包含以下关键文件:
私钥文件(.key):如 private.key,必须严格保密。
证书文件(.crt 或 .pem):如 certificate.crt,包含服务器公钥和证书信息。
中间证书(链证书):如 intermediate.crt,确保证书链完整。
CSR 文件(可选):证书签名请求文件(.csr),用于重新生成证书。
2. 备份步骤
(1) 定位证书存储位置
Apache/Nginx:通常在 /etc/ssl/ 或 /etc/nginx/ssl/。
IIS:通过服务器管理器导出证书(见下文)。
Let's Encrypt:默认在 /etc/letsencrypt/live/your_domain/。
其他服务:检查配置文件(如 Apache 的 ssl.conf)中 SSLCertificateFile 和 SSLCertificateKeyFile 的路径。
2) 复制文件
使用命令行或文件管理器复制以下文件:
bash
复制
示例:备份 Let's Encrypt 证书
cp -r
/etc/letsencrypt/live/your_domain /path/to/backup/
cp /etc/letsencrypt/archive/your_domain/* /path/to/backup/
(3) 导出 PKCS#12 文件(可选)
将私钥和证书合并为 .pfx 文件(需设置密码):
bash
复制
openssl pkcs12 -export -out backup.pfx -inkey private.key -in certificate.crt -certfile intermediate.crt
4) IIS 用户专用步骤
1. 打开 IIS 管理器 → 服务器证书。
2. 右键点击证书 → 导出 → 设置密码并保存 .pfx 文件。
3. 存储备份的安全建议
加密备份:使用密码保护 .pfx 或压缩为加密的 .zip 文件。
多位置存储:本地硬盘、外部存储设备、云存储(确保加密)。
权限控制:私钥文件设置为 600 权限(仅所有者可读写):
bash
复制
chmod 600 /path/to/backup/private.key
4. 验证备份有效性
(1). 检查文件完整性:
bash
复制
openssl x509 -noout -text -in certificate.crt # 查看证书信息
openssl rsa
check -in private.key # 验证私钥是否有效
(2). 测试恢复:在测试环境中导入备份文件,确保 HTTPS 正常工作。
5. 常见错误与注意事项
遗漏中间证书:缺少链证书会导致浏览器提示"不信任的证书"。
私钥丢失:私钥无法恢复,需重新申请证书。
备份过期:证书有效期通常为 1 年(如 Let's Encrypt),需定期更新备份。
6. 自动化备份(可选)
使用脚本定期备份证书(示例):
bash
复制
#!/bin/bash
BACKUP_DIR="/backup/ssl_$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
cp /etc/ssl/private/your_key.key $BACKUP_DIR
cp /etc/ssl/certs/your_cert.crt $BACKUP_DIR
tar -czvf $BACKUP_DIR.tar.gz $BACKUP_DIR
上面六点就是备份SSL证书步骤,通过这些步骤可以确保 SSL 证书的安全备份,避免因意外情况导致的服务中断。
下期不见不散,
没有评论:
发表评论