SSL 证书管理概述

SSL(Secure Sockets Layer)证书,现多指其后继协议 TLS(Transport Layer Security)证书,用于加密网站与访客之间的通信,保障数据传输的安全与完整,并验证网站身份,防止中间人攻击。

本文以 Certbot 工具为例,介绍如何申请和管理免费 SSL/TLS 证书。


SSL证书的主要功能

  • 加密数据传输
    保护客户端与服务器之间的数据不被窃听或篡改。

  • 身份验证
    验证网站真实身份,提升用户信任感。

  • 数据完整性
    保证传输数据在传输过程中未被修改。


SSL证书的常见类型

  1. 自签名证书(Self-signed Certificate)
    适用于测试环境,免费但不被浏览器信任,访问时会出现安全警告。

  2. 受信任第三方颁发的证书(CA 颁发)
    按验证级别分为:

    • DV(域名验证)证书:验证对域名的控制权,颁发快速,适合大多数网站。
    • OV(组织验证)证书:验证申请组织的合法身份,信任度更高。
    • EV(扩展验证)证书:验证更为严格,浏览器地址栏显示绿色安全标识。
  3. 免费证书
    例如 Let’s Encrypt 提供的免费证书,支持自动化申请和续期,广受欢迎。


SSL证书管理流程

  1. 生成私钥与证书签名请求(CSR)
    在服务器上生成私钥和对应的 CSR 文件,CSR 用于向 CA 提交申请。

  2. 提交申请并完成验证
    将 CSR 发送给证书颁发机构,完成域名或组织身份验证。

  3. 安装证书
    获得证书文件后,在服务器(如 Nginx)配置并启用证书。

  4. 续期与撤销
    证书通常有有效期,到期前需及时续期;若私钥泄漏,应立即撤销证书。


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