参考资料

  1. Nginx SSL配置详解
  2. SSL证书与HTTPS的关系
  3. windows ssl证书生成详细说明以及案例
  4. windows下nginx配置ssl证书详细说明以及案例
  5. Windows服务器SSL配置
  6. 如何选择适合的SSL证书类型
  7. nginx ssl证书配置步骤详细说明以及案例
  8. 申请SSL证书的步骤

Linux系统配置SSL指南

Linux系统配置SSL指南

适用操作系统

  • Ubuntu/Debian

  • CentOS/RHEL

  • Fedora

  • openSUSE

  • 其他基于Linux的系统

证书有效性要求

  1. 必须由受信任的CA颁发或自签名

  2. 证书链必须完整

  3. 私钥必须匹配证书

  4. 证书必须在有效期内

  5. 证书必须包含正确的域名

配置示例

Apache配置示例

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

Nginx配置示例

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/private.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
}

调试与验证方法

  1. 检查服务是否监听443端口:netstat -tulnp | grep 443

  2. 测试SSL握手:openssl s_client -connect example.com:443 -servername example.com

  3. 验证证书链:openssl verify -CAfile /path/to/chain.pem /path/to/cert.pem

  4. 在线验证工具:SSL Labs测试(https://www.ssllabs.com/ssltest/)

注意事项

  1. 私钥文件权限应设置为600

  2. 定期更新即将过期的证书

  3. 禁用不安全的SSL/TLS协议版本(如SSLv2, SSLv3)

  4. 配置证书自动续期(如使用Let's Encrypt)

  5. 重启服务使配置生效:systemctl restart apache2systemctl restart nginx

  6. 检查防火墙是否允许443端口流量

  7. 确保系统时间准确,否则可能导致证书验证失败