当前位置:首页 > 行业动态 > 正文

https证书管理

HTTPS证书管理包括向CA申请、安装至服务器、配置域名匹配、定期续期及及时吊销,确保网站安全与信任

HTTPS 证书管理详解

证书申请流程

  1. 选择证书类型

    • 域名验证(DV):仅验证域名所有权,适合个人网站或小型企业。
    • 组织验证(OV):验证企业身份,适合中小企业。
    • 扩展验证(EV):严格验证企业资质,浏览器地址栏显示绿色,适合金融、电商等高信任场景。
  2. 通过认证机构(CA)申请

    • 免费证书:Let’s Encrypt、ZeroSSL 等。
    • 付费证书:DigiCert、GlobalSign、Comodo 等。
  3. 域名验证方式
    | 验证方式 | 说明 |
    |—————-|———————————————————————-|
    | HTTPS 文件验证 | 在网站根目录上传指定文件(如 .well-known/acme-challenge/)。 |
    | DNS 记录验证 | 添加 TXT 记录(如 _acme-challenge.example.com)。 |
    | 邮件验证 | 接收 CA 发送的验证邮件并点击链接。 |

证书安装与配置

  1. 服务器类型与配置路径
    | 服务器类型 | 配置文件路径 | 重启命令 |
    |————|—————————————|——————————|
    | Apache | /etc/apache2/sites-available/default-ssl.conf | systemctl restart apache2 |
    | Nginx | /etc/nginx/sites-enabled/default-ssl | systemctl restart nginx |
    | IIS | IIS 管理器 -> 站点 -> SSL 证书绑定 | 无(自动生效) |

  2. 强制 HTTPS 访问

    • Nginx 示例
      server {
          listen 80;
          return 301 https://$host$request_uri;
      }
    • Apache 示例
      <VirtualHost :80>
          Redirect permanent / https://example.com/
      </VirtualHost>
  3. 中间证书链配置

    https证书管理  第1张

    • 将 CA 提供的中间证书(如 bundle.crt)与服务器证书合并,确保浏览器信任。

证书更新与续期

  1. 手动更新

    • 下载新证书,替换旧文件(如 cert.pemprivkey.pemchain.pem)。
    • 重启服务器使配置生效。
  2. 自动续期(以 Let’s Encrypt 为例)

    • 使用 certbot renew 命令或配置 crontab 定时任务:
      0 0    /usr/bin/certbot renew --quiet-renewal >> /var/log/le-renew.log

证书吊销与替换

  1. 吊销原因

    私钥泄露、域名所有权变更、证书过期等。

  2. 吊销流程

    • CA 吊销:联系证书颁发机构,提交吊销请求。
    • 本地吊销:删除服务器上的证书文件,停止服务。
  3. 替换新证书

    重新申请证书,按安装流程配置,并更新服务器配置。

证书存储与备份

  1. 私钥保护

    • 权限设置:chmod 600 privkey.pem
    • 避免私钥上传至公共版本库(如 Git)。
  2. 备份策略

    • 定期备份证书文件(cert.pemprivkey.pemchain.pem)到安全存储(如云存储、加密硬盘)。

问题与解答

问题 1:申请 HTTPS 证书时,域名验证失败怎么办?

解答

  • 检查验证方式:确认是否选择了正确的验证类型(HTTPS 文件、DNS 或邮件)。
  • 文件验证:确保文件路径正确(如 .well-known/acme-challenge/),且文件内容完整。
  • DNS 验证:检查 TXT 记录是否生效(可通过 dig 命令验证)。
  • 防火墙设置:确保服务器 80/443 端口对 CA 服务器开放。

问题 2:如何确认 HTTPS 证书已正确安装?

解答

  • 浏览器检查:访问网站时,点击地址栏锁图标,查看证书详情(颁发者、有效期、域名匹配)。
  • 在线工具检测:使用 SSL Labs(https://www.ssllabs.com/ssltest/)或 Qualys SSL Test(https://www.qualys.com/ssl-labs/)生成报告。
  • 命令行验证
    openssl s_client -connect example.com:443 < /dev/null | grep "Verify return code"

    返回 0 表示验证成功

0