- 在国内阿里云上购买了域名、服务器、SSL证书、CDN,并且搭建了一个博客(www.peterjxl.com),运行了一年多,在境外也是能正常访问的
- 准备接入CloudFlare(用cname的方式)
- 首先在阿里云上购买了一个中间域名(peterjxl.cn),未备案
将中间域名接入CloudFlare(接入过程参考下方),接入过程参考了
境内网站cname接入CloudFlare的超级详细教程 - 陶小桃Blog
- 设置博客www.peterjxl.com的境外解析路线为 peterjxl.cn
问题:接入CloudFlare 1天后,科学上网并访问博客提示 ERR_SSL_VERSION_OR_CIPHER_MISMATCH
:
我理解的请求链路是这样:
- 如果是境内访问博客,则直接访问到阿里云的CDN,然后返回内容给到访客
- 如果是境外访问博客,则根据境外路线解析,通过cname的方式访问到中间域名,然后中间域名再去源站获取数据,返回内容给到访客
配置过程:
将中间域名添加到CloudFlare
登录后点击网站,然后点击" 开始使用" :
输入中间域名peterjxl.cn,点击继续:
选择了0元套餐,然后是查看DNS记录,这里我直接点了继续:
去阿里云修改中间域名的DNS服务器为CloudFlare的:
配置中间域名的源站
一段时间后,出现了“有效”标志:
点击上一步中配好的域名 >> 然后点击“DNS – 记录”>> 添加记录:
类型默认为A,写了www,IPv4地址写了阿里云服务器IP:
设置回退源及自定义主机名
解析生效后点击左侧“SSL/TLS – 自定义主机名”(已启用CloudFlare for SaaS),在回退源中,填写了www.peterjxl.cn,添加回退源:
一段时间后,“回退源状态”显示“有效”:
点击右上角的【添加自定义主机名】按钮,然后填写www.peterjxl.cn,然后添加:
一段时间后可以看到有TXT认证:
去DNS里添加TXT记录:
一段时间后,证书状态”和“主机名状态”都是“有效”:
设置境外解析
去到阿里云控制台,为peterjxl.com博客设置境外解析路线,记录值就是已经被CloudFlare保护起来的中间域名:
一段时间后,境外访问时Chrome就提示ERR_SSL_VERSION_OR_CIPHER_MISMATCH
尝试的解决方法:
- 参考了下CloudFlare文档,感觉看不出啥问题:Fix VERSION_OR_CIPHER_MISMATCH · Cloudflare SSL/TLS docs
- 百度和Google相关错误信息,都提示是浏览器问题(但我觉得应该不是)
- 设置加密方式为“灵活”,“完全”,“完全(严格)” ,一段时间后去访问,都提示相同错误