若Ubuntu Nginx的SSL连接不安全,可按以下步骤排查解决:
检查证书有效性
openssl x509 -in /etc/nginx/ssl/your.crt -noout -dates查看有效期。更新Nginx及SSL模块
sudo apt update && sudo apt install nginx
nginx -V 2>&1 | grep -o with-http_ssl_module,未启用需重新编译Nginx。优化SSL配置
/etc/nginx/sites-available/default),修改SSL参数:ssl_protocols TLSv1.2 TLSv1.3; # 禁用SSLv3及以下版本
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; # 仅使用强加密套件
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
参考来源:启用HSTS和OCSP Stapling
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
参考来源:检查防火墙与端口
ufw)允许443端口:sudo ufw allow 443/tcp
sudo ufw reload
netstat -tulnp | grep 443确认Nginx监听443端口。测试与验证
sudo systemctl restart nginx。注意:生产环境避免使用自签名证书,优先通过Let’s Encrypt获取免费证书。定期更新证书和Nginx版本,确保安全性。