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

Caddy 2配置客户域名HTTPS出现ERR_SSL_PROTOCOL_ERROR求助

Caddy按需TLS SSL协议错误排查指南

核心问题分析

你遇到的ERR_SSL_PROTOCOL_ERROR间歇性出现,本质是Caddy为新域名生成证书的流程中出现中断或超时,导致客户端发起HTTPS请求时,Caddy尚未完成证书获取,无法正常建立SSL连接。

具体排查与修复步骤

1. 验证On-Demand TLS的Ask端点有效性

你的ask地址app.example.com/tls-check必须满足以下要求:

  • 对Caddy的请求返回200 OK(允许生成证书)或403 Forbidden(拒绝生成)
  • 响应速度必须快(建议<1秒),如果端点超时,Caddy会直接终止证书申请流程,引发SSL握手失败
  • 确保Caddy服务器能正常访问该端点,无防火墙、安全组或内部路由限制

测试方法:在Caddy服务器上执行:

curl -I app.example.com/tls-check?domain=test.example.com

确认返回状态码为200或403,且响应耗时极短。

2. 修正443端口的TLS配置

当前443块的写法存在问题:使用on_demand TLS时,不能直接监听:443,Caddy需要通过动态域名匹配来触发证书生成逻辑。正确配置应改为:

*:443 {
    tls email@example.com {
        on_demand
    }
    reverse_proxy * app.example.com {
        header_up Host {host}
        header_up X-Fwd-For {remote_host}
        header_up X-Fwd-Proto {scheme}
        header_up X-Caddy-Hash mysecret
        health_timeout 5s
    }
}

3. 检查Redis证书存储的可用性

你使用Redis作为证书存储,如果Redis连接不稳定、权限不足或数据损坏,会导致Caddy无法读取/保存证书,引发间歇性失败。

测试Redis连接与读写权限:

redis-cli -n 0 GET caddy_ssl_certificates:test.example.com

如果返回错误,检查Redis的密码、端口、数据库编号配置,确保Caddy拥有读写权限。

4. 启用Caddy调试日志定位问题

间歇性问题必须通过日志排查,修改全局配置添加调试日志:

{
    on_demand_tls {
        ask app.example.com/tls-check
    }
    storage redis caddy_ssl_certificates
    log {
        level debug
        output file /var/log/caddy/debug.log
    }
}

然后实时查看日志:

tail -f /var/log/caddy/debug.log

重点关注包含on_demand、tls、certificate的日志条目,排查是否存在证书申请超时、Ask端点响应异常、Redis操作失败等信息。

5. 确认域名解析完全生效

客户的CNAME/A记录可能存在DNS缓存,导致部分地区/客户端解析未生效,引发间歇性访问失败。测试解析:

dig test.example.com +short

确认返回IP为你的Caddy服务器IP,也可通过多地区DNS检测工具验证解析一致性。

6. 调整按需TLS的超时配置

全局on_demand_tls可添加超时设置,避免因证书申请超时导致SSL握手失败:

{
    on_demand_tls {
        ask app.example.com/tls-check
        timeout 10s # 延长超时时间,默认值可能偏短
    }
    # 其他配置不变
}

额外测试建议

  • 暂时关闭Redis存储,改用默认文件存储测试,若问题消失,说明Redis配置存在问题
  • 修改配置后执行caddy reload确保生效
  • 检查服务器防火墙/安全组,确保80(ACME挑战端口)和443端口完全开放,无流量限流规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:50:23