You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx中SSL握手失败错误525排查与解决(Cloudflare场景)

解决Nginx SSL握手失败错误525的思路和建议

问题背景

配置Nginx时遇到Cloudflare SSL握手失败错误525,IP访问正常但HTTPS无法访问,使用Cloudflare源证书,SSL模式为Full (strict),部署在EC2服务器,DNS已配置,重启Nginx和Gunicorn无效。当前Nginx配置如下:

server {
    listen 80;
    listen 443;
    server_name sociio.org www.sociio.org;

    ssl_certificate  /etc/ssl/cert.pem;
    ssl_certificate_key /etc/ssl/key.pem;

    location = /favicon.ico {
        access_log off;
        log_not_found off;
    }

    location /static_cdn/ {
        root /home/ubuntu/ichor;
    }

    location /media_cdn/ {
        root /home/ubuntu/ichor;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/ubuntu/ichor/app.sock;
    }
}

具体排查与解决步骤

  • 修正Nginx SSL监听配置
    当前配置中listen 443;未启用SSL协议,Nginx不会在443端口处理SSL握手,这是导致525错误的核心问题之一。需修改为:

    listen 443 ssl;
    

    同时可添加基础SSL优化参数增强兼容性:

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    

    修改后执行nginx -t验证配置语法,无误后重启Nginx:sudo systemctl restart nginx

  • 验证证书与密钥匹配性
    执行以下命令检查证书和私钥是否配对:

    openssl x509 -noout -modulus -in /etc/ssl/cert.pem | openssl md5
    openssl rsa -noout -modulus -in /etc/ssl/key.pem | openssl md5
    

    两个命令的输出MD5值必须完全一致,否则证书与密钥不匹配会直接导致握手失败。同时确认cert.pem包含完整的证书链(Cloudflare源证书需包含中间证书)。

  • 检查EC2网络访问权限

    • 确认EC2安全组已放行443端口的入站流量,允许Cloudflare IP段访问;
    • 检查服务器本地防火墙(如ufw),确保443端口已开放:执行sudo ufw status查看状态,未开放则执行sudo ufw allow 443。
  • 本地测试源站HTTPS服务
    在EC2服务器上执行本地curl测试,验证自身HTTPS服务是否正常:

    curl -v https://sociio.org --resolve sociio.org:443:127.0.0.1
    

    若测试失败,说明问题出在Nginx配置或证书本身,需优先解决源站自身的SSL问题;若测试成功,再排查Cloudflare端配置。

  • 验证Cloudflare SSL模式
    确认Cloudflare SSL/TLS模式为Full (strict),若前面步骤都完成仍有问题,可临时切换为Full模式测试,排除严格模式的校验影响,确认正常后再切回strict模式。

内容的提问来源于stack exchange,提问作者Insha Manowar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 15:46:34