参考资料

  1. 如何申请SSL证书
  2. 如何处理梦回证书续订问题?
  3. windows下nginx配置ssl证书详细说明以及案例
  4. 过期的SSL证书
  5. SSL证书的安装与配置方法
  6. Windows服务器SSL配置
  7. 如何优化SSL性能
  8. windows 配置ssl证书详细说明以及案例

适用操作系统

  • Linux(Ubuntu/CentOS等)

  • Windows Server

  • macOS Server

  • FreeBSD

证书有效性

  1. 有效期检查

    • 证书通常1年有效,需定期更新

    • 使用openssl x509 -noout -dates -in cert.pem查看日期

  2. CA信任链

    • 必须包含完整中间证书

    • 根证书需被操作系统/浏览器信任

  3. 域名匹配

    • 检查CN和SAN字段是否包含所有使用域名

    • 通配符证书仅支持单级子域(*.example.com)

配置示例

Nginx示例:

server {
    listen 443 ssl;
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
}

Apache示例:

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/key.pem
    SSLCertificateChainFile /path/to/chain.pem
</VirtualHost>

调试与验证

  1. OpenSSL测试

    openssl s_client -connect example.com:443 -servername example.com
  2. 在线工具

  3. 日志检查

    • Nginx错误日志:/var/log/nginx/error.log

    • Apache错误日志:/var/log/apache2/error.log

注意事项

  1. 密钥安全

    • 私钥权限应设为600

    • 禁止在版本控制系统中提交私钥

  2. 协议禁用

    • 必须禁用SSLv2/SSLv3

    • 建议禁用TLSv1.0/TLSv1.1

  3. HSTS配置

    • 添加Strict-Transport-Security头部

    • 示例:add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;

  4. OCSP装订

    • 启用OCSP Stapling提高性能

    • Nginx配置示例:

      ssl_stapling on;
      ssl_stapling_verify on;