AWS EC2 Ubuntu实例SSL_do_handshake()失败问题求助
调整Nginx SSL加密套件与ECDH曲线配置
编辑域名对应的Nginx配置文件(如/etc/nginx/sites-available/your-domain.conf),找到SSL配置段,修改或添加以下内容:ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve secp256r1:secp384r1:prime256v1; ssl_prefer_server_ciphers on;保存后重启Nginx:
sudo systemctl restart nginx更新OpenSSL与Nginx版本
旧版本组件可能存在握手兼容性问题,执行命令更新:sudo apt update && sudo apt upgrade openssl nginx更新完成后重启Nginx服务。
重新生成并验证SSL证书
强制刷新Let's Encrypt证书,确保证书链完整:sudo certbot renew --force-renewal检查Nginx配置中证书路径是否正确:
ssl_certificate需指向/etc/letsencrypt/live/your-domain/fullchain.pem,ssl_certificate_key指向/etc/letsencrypt/live/your-domain/privkey.pem。优化Nginx资源配置
编辑/etc/nginx/nginx.conf,调整worker参数避免高负载下资源耗尽:worker_processes auto; worker_connections 1024; multi_accept on;重启Nginx使配置生效。
补充系统熵值
ECDHE握手需要足够系统熵值,查看当前熵值:cat /proc/sys/kernel/random/entropy_avail若数值低于1000,安装rng-tools补充熵:
sudo apt install rng-tools sudo systemctl start rng-tools sudo systemctl enable rng-tools
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

