ssl_certificate
(证书文件)和ssl_certificate_key
(私钥文件)路径必须与实际文件位置完全一致(如/etc/letsencrypt/live/yourdomain.com/fullchain.pem
)。若路径错误,Nginx无法读取证书,导致SSL连接失败。www-data
用户)可读,建议权限设置为600
(如chmod 600 /etc/nginx/ssl/*.key
)。若权限过宽(如777
),可能因安全策略拒绝访问。openssl x509 -in certificate.crt -noout -dates
检查证书有效期(需在当前时间范围内)。过期或未生效的证书会导致浏览器提示“证书无效”。cat domain.crt intermediate.crt > combined.crt
),并指向合并后的文件。不完整的证书链会导致客户端无法验证服务器身份。listen 443 ssl;
)。若误用80端口或未启用ssl
参数,客户端无法建立HTTPS连接。ssl_protocols TLSv1.2 TLSv1.3;
)和加密套件(如ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
)。过时的协议(如SSLv3)或不兼容的加密套件会导致握手失败。sudo nginx -t
测试配置文件语法,若有错误(如缺少分号、括号不匹配),Nginx无法启动或重载,导致SSL连接失败。ufw
防火墙,需允许HTTPS流量(sudo ufw allow 443/tcp
),并重载防火墙规则(sudo ufw reload
)。若端口被阻止,客户端无法访问服务器的HTTPS服务。ping 8.8.8.8
正常),且域名已正确解析到服务器IP(使用nslookup yourdomain.com
验证)。网络中断或解析错误会导致SSL连接超时。date
命令检查时间,若不准确,可通过sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
同步时间。sudo apt update && sudo apt upgrade nginx openssl
)。openssl s_client -connect yourdomain.com:443
测试客户端兼容性,或调整服务器配置以支持更广泛的客户端。