CDN配置SSL证书出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH问题
在又拍云添加CDN服务和阿里云添加DNS解析记录后访问域名出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH报错情况
配置
CDN配置
| 配置项 | 内容 |
|---|---|
| 服务名称 | icurvestar |
| CNAME | icurvestar.b0.aicdn.com |
| 加速域名 | icurvestar.cn |
| 回源 Host | 遵循访问域名 |
DNS配置
配置了一条泛解析,满足格式 *.icurvestar.cn 的所有域名都解析到CNAME(另一个域名):icurvestar.b0.aicdn.com
| 记录类型 | 主机记录 | 解析线路 | 记录值 |
|---|---|---|---|
| CNAME | * | 默认 | icurvestar.b0.aicdn.com |
问题1
使用https访问主页域名icurvestar.cn出现
(Edge浏览器)
此站点的连接不安全
icurvestar.cn 使用不受支持的协议。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
(火狐浏览器)
建立安全连接失败
连接到 blog.icurvestar.cn 时发生错误。无法安全地与对等端通信:没有双方共用的加密算法。
错误代码:SSL_ERROR_NO_CYPHER_OVERLAP
- 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。
- 建议向此网站的管理员反馈这个问题。
解决
询问客服后给出解决方式:
私钥的开始标题和结尾标题,都需要加上 EC 指示,例如:
从:
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
改为:
-----BEGIN EC PRIVATE KEY-----
-----END EC PRIVATE KEY-----
更改再上传下证书按照方法操作后再次访问icurvestar.cn能够正常加载网页
问题2
icurvestar.cn能够正常加载主页内容,然后使用https访问博客页面blog.icurvestar.cn出现
此站点的连接不安全
blog.icurvestar.cn 使用不受支持的协议。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
和问题1的情况一样
解决
在服务名称:icurvestar下添加加速域名:blog.icurvestar.cn
| 配置项 | 内容 |
|---|---|
| 服务名称 | icurvestar |
| CNAME | icurvestar.b0.aicdn.com |
| 加速域名1 | icurvestar.cn |
| 加速域名2 | blog.icurvestar.cn |
| 回源 Host | 遵循访问域名 |
审核通过后能够打开blog.icurvestar.cn
问题3
博客页面blog.icurvestar.cn打开的却是主页icurvestar.cn的内容
解决
给要加速的blog.icurvestar.cn域名单独创建一个CDN服务,DNS解析删除泛域名的解析记录,给用到的子域名逐一添加解析记录。
| 配置项 | 内容 |
|---|---|
| 服务名称 | icurvestar |
| CNAME | icurvestar.b0.aicdn.com |
| 加速域名 | icurvestar.cn |
| 回源 Host | 遵循访问域名 |
| 配置项 | 内容 |
|---|---|
| 服务名称 | icurvestar-blog |
| CNAME | icurvestar-blog.b0.aicdn.com |
| 加速域名 | blog.icurvestar.cn |
| 回源 Host | 遵循访问域名 |
| 记录类型 | 主机记录 | 解析线路 | 记录值 |
|---|---|---|---|
| CNAME | blog | 默认 | icurvestar-blog.b0.aicdn.com |
| CNAME | @ | 默认 | icurvestar.b0.aicdn.com |
主机记录 含义 示例 www表示带有 "www" 前缀的域名 www.icurvestar.cn @表示主域名本身 icurvestar.cn *泛解析,匹配所有以该域名为后缀的子域名 *.icurvestar.cn 通常用于电子邮件服务的子域名 mail.icurvestar.cn m通常用于移动设备访问的子域名 m.icurvestar.cn 二级域名 子域名的第一层级 abc.icurvestar.cn (填写 abc)多级域名 子域名的多层级组合 ab.cd.ef.icurvestar.cn (填写 ab.cd.ef)
分析
原因:一个CDN服务应该要对应一个缓存目录(根目录 root / 开始缓存),同一个缓存目录使用不同域名访问看到的页面都是缓存到的。
CDN原理:


目前的cdn服务配置:

错误的请求结果流程:

根据这个原理,当CDN缓存失效后请求blog.icurvestar.cn是能正常返回博客页面的,但是访问主页icurvestar.cn返回的会是博客的页面。
所以解决方法就是源站不同的Web服务要单独创建一个CDN服务(不同的CNAME),DNS解析也不能使用泛域名的解析记录,用到那个子域名就添加一条解析记录。

www的子域名域名也添加一条加速就好。
至此,主页和博客都能正常访问了。
分析ERR_SSL_VERSION_OR_CIPHER_MISMATCH
在cloudflare的故障排除中提到,遇到ERR_SSL_VERSION_OR_CIPHER_MISMATCH可能是正在访问的是CDN未加速的域名或子域名DNS 记录,符合问题2的现象。

但是第一次的ERR_SSL_VERSION_OR_CIPHER_MISMATCH通过严格指定标记SSL证书的密钥为EC私钥来解决真的是密钥类型的问题吗?
一个文档中提到
在Cloudflare中检查SSL状态
对于刚开始使用 Cloudflare 的内容分发网络 (CDN) 的网站来说,ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误很常见。它是由 CDN 默认使用的通用 SSL 引起的。
简而言之,Cloudflare 需要一些时间来为您的网站安装通用 SSL。如果您只是将您的域指向它们并立即激活 Cloudflare CDN,您的网站可能仍然缺少通用 SSL 并产生证书不匹配错误。 **您最好的做法是暂停 Cloudflare。**在发出通用 SSL 时,您的网站将从源服务器加载。
然后,给它几个小时并再次启用 Cloudflare。该错误应得到解决。
或者,您可以禁用通用 SSL 并重新激活它。
也许是SSL证书缓存的问题?现在能正常运行就不重新复现测试问题了,CDN审核域名也要很长时间。