我的域名是很久以前通过 cf partner 面板接入的 cname 记录。仅接入了子域名 cdn.a.com
(源站 b.com
),没有接入 a.com
和 www.a.com
。接入时的设置是通过 http 续签证书。也就是在根目录下设置 http://cdn.a.com/.well-known/pki-validation/caxxxxx.txt
文件,cf 安排续签证书时校验这个文件验证所有权。
前天突然发现无法通过 https 访问 cdn.a.com
。http 访问则没有问题。直接 https 访问源站 b.com
也没有问题。
通过 openssl s_client -connect cdn.a.com:443 -showcerts
检查发现没有证书:
CONNECTED(00000003)
140170526717840:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:
no peer certificate available
登录 cf 后台,在 [网站] [ SSL/TLS ] [边缘证书] 页面中,边缘证书列表显示为无证书:
我已检查过:
cdn.a.com
通过 cname 指向官方指定的 cdn.a.com.cdn.cloudflare.net
。curl http://cdn.a.com/.well-known/pki-validation/caxxxxx.txt
可以得到预设的值。我已试过如下方法但都没有效果:
_acme-challenge.cdn.a.com
cname 指向 cdn.a.com.uuid.dcv.cloudflare.com
,然后关闭 [ SSL\TLS ] 和 [通用 SSL ] 十几分钟后恢复。
1
CrazyBoyFeng OP 我找到了一个和我一样的案例: https://www.nodeseek.com/post-136177-1
他是一个月前证书失效的。也是各种折腾都无法恢复证书的签发。最后开通了 [自定义主机名] 解决。 我学着他的做法,添加自定义主机名 cdn.a.com 回退源 cdn.a.com ,也成功给 cdn.a.com 签发了证书。 虽然目前还不清楚是什么原因导致的这个问题,不过目前这样就算是解决了。 我猜可能是因为 partner 的 cname 接入是被废弃的业务,所以 cf 忘了给这个业务配置 certbot 。 |
2
AldingtonDavid 79 天前
op 现在怎么样了,签下来了吗,我也有同样问题,partner cname 接入添加但不会触发边缘证书验证了
|