SSL 证书管理概述
SSL(Secure Sockets Layer)证书,现多指其后继协议 TLS(Transport Layer Security)证书,用于加密网站与访客之间的通信,保障数据传输的安全与完整,并验证网站身份,防止中间人攻击。
本文以 Certbot 工具为例,介绍如何申请和管理免费 SSL/TLS 证书。
SSL证书的主要功能
加密数据传输
保护客户端与服务器之间的数据不被窃听或篡改。身份验证
验证网站真实身份,提升用户信任感。数据完整性
保证传输数据在传输过程中未被修改。
SSL证书的常见类型
自签名证书(Self-signed Certificate)
适用于测试环境,免费但不被浏览器信任,访问时会出现安全警告。受信任第三方颁发的证书(CA 颁发)
按验证级别分为:- DV(域名验证)证书:验证对域名的控制权,颁发快速,适合大多数网站。
- OV(组织验证)证书:验证申请组织的合法身份,信任度更高。
- EV(扩展验证)证书:验证更为严格,浏览器地址栏显示绿色安全标识。
免费证书
例如 Let’s Encrypt 提供的免费证书,支持自动化申请和续期,广受欢迎。
SSL证书管理流程
生成私钥与证书签名请求(CSR)
在服务器上生成私钥和对应的 CSR 文件,CSR 用于向 CA 提交申请。提交申请并完成验证
将 CSR 发送给证书颁发机构,完成域名或组织身份验证。安装证书
获得证书文件后,在服务器(如 Nginx)配置并启用证书。续期与撤销
证书通常有有效期,到期前需及时续期;若私钥泄漏,应立即撤销证书。
Nginx 中配置 SSL 证书示例
假设已获得以下文件:
- 私钥文件:
server.key - 证书文件:
server.crt - 中间证书链(可选):
ca_bundle.crt
在 Nginx 配置文件(例如 /etc/nginx/sites-available/default)中添加:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
ssl_trusted_certificate /path/to/ca_bundle.crt; # 可选,提升证书链验证
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html index.htm;
}
}保存后,测试配置并重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx常用 SSL 证书管理工具
OpenSSL
用于生成私钥、CSR 及证书文件的创建和测试。Certbot
Let’s Encrypt 官方客户端,支持免费证书自动申请和续期。CFSSL
Cloudflare 提供的证书管理工具,适合自动化和大规模部署。
作者:admin 创建时间:2026-02-25 11:29
最后编辑:admin 更新时间:2026-02-25 11:29
最后编辑:admin 更新时间:2026-02-25 11:29