参考资料

  1. nginx手动配置ssl详细说明以及案例
  2. SSL证书的获取方式
  3. 如何申请SSL证书
  4. windows ssl配置设置详细说明以及案例
  5. 如何处理梦回证书续订问题?
  6. SSL证书的费用与成本
  7. 企业应如何根据需求选择SSL证书
  8. windows Nginx 本地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. 确保系统时间准确,否则可能导致证书验证失败