当前位置: 首页 > 知识库问答 >
问题:

ssl - 接入CloudFlare后访问提示"ERR_SSL_VERSION_OR_CIPHER_MISMATCH"?

湛同
2024-01-11
  1. 在国内阿里云上购买了域名、服务器、SSL证书、CDN,并且搭建了一个博客(www.peterjxl.com),运行了一年多,在境外也是能正常访问的
  2. 准备接入CloudFlare(用cname的方式)
  3. 首先在阿里云上购买了一个中间域名(peterjxl.cn),未备案
  4. 将中间域名接入CloudFlare(接入过程参考下方),接入过程参考了

    境内网站cname接入CloudFlare的超级详细教程 - 陶小桃Blog

    国外免费CDN加速及防护:CloudFlare注册使用教程 - boke112百科

    Cloudflare如何设置自定义主机名实现CNAME接入(详细操作图文教程) - boke112百科

  5. 设置博客www.peterjxl.com的境外解析路线为 peterjxl.cn

  问题:接入CloudFlare 1天后,科学上网并访问博客提示 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

  ‍image.png

  我理解的请求链路是这样:

  • 如果是境内访问博客,则直接访问到阿里云的CDN,然后返回内容给到访客
  • 如果是境外访问博客,则根据境外路线解析,通过cname的方式访问到中间域名,然后中间域名再去源站获取数据,返回内容给到访客

配置过程:

将中间域名添加到CloudFlare

  登录后点击网站,然后点击" 开始使用" :
image.png
  ‍

  输入中间域名peterjxl.cn,点击继续:
image.png
  ‍

  选择了0元套餐,然后是查看DNS记录,这里我直接点了继续:
image.png
  ‍

  ‍

  去阿里云修改中间域名的DNS服务器为CloudFlare的:
image.png

  ‍

配置中间域名的源站

  一段时间后,出现了“有效”标志:
image.png
  ‍

  点击上一步中配好的域名 >> 然后点击“DNS – 记录”>> 添加记录:
image.png

  ‍

  类型默认为A,写了www,IPv4地址写了阿里云服务器IP:
image.png
  ‍

设置回退源及自定义主机名

  解析生效后点击左侧“SSL/TLS – 自定义主机名”(已启用CloudFlare for SaaS),在回退源中,填写了www.peterjxl.cn,添加回退源:
image.png
  ‍

  一段时间后,“回退源状态”显示“有效”:
image.png
  ‍

  点击右上角的【添加自定义主机名】按钮,然后填写www.peterjxl.cn,然后添加:
image.png
  ‍

  一段时间后可以看到有TXT认证:

image.png
  ‍

  去DNS里添加TXT记录:

image.png
  ‍

  一段时间后,证书状态”和“主机名状态”都是“有效”:
image.png
  ‍

  ‍

  ‍

设置境外解析

  去到阿里云控制台,为peterjxl.com博客设置境外解析路线,记录值就是已经被CloudFlare保护起来的中间域名:
image.png
  ‍

  ‍

  ‍

  一段时间后,境外访问时Chrome就提示ERR_SSL_VERSION_OR_CIPHER_MISMATCH

  ‍

尝试的解决方法:

  • 参考了下CloudFlare文档,感觉看不出啥问题:Fix VERSION_OR_CIPHER_MISMATCH · Cloudflare SSL/TLS docs
  • 百度和Google相关错误信息,都提示是浏览器问题(但我觉得应该不是)
  • 设置加密方式为“灵活”,“完全”,“完全(严格)” ,一段时间后去访问,都提示相同错误
    image.png

共有1个答案

郁灿
2024-01-11

ERR_SSL_VERSION_OR_CIPHER_MISMATCH 这个错误通常表示客户端和服务器之间的SSL/TLS握手失败,原因是客户端和服务器支持的SSL/TLS版本或加密套件不匹配。这可能是由多种原因引起的,包括但不限于:

  1. 服务器配置问题:服务器可能没有正确配置SSL/TLS,例如,它可能不支持客户端尝试使用的SSL/TLS版本或加密套件。
  2. 浏览器问题:某些浏览器可能由于过时或安全设置,限制了它们支持的SSL/TLS版本或加密套件。
  3. CloudFlare配置问题:尽管您已经按照文档进行了配置,但可能仍存在一些问题。例如,您可能没有正确地配置SSL/TLS,或者在设置回退源时可能出了问题。

为了解决这个问题,您可以尝试以下步骤:

  1. 检查服务器的SSL/TLS配置:确保您的服务器正确配置了SSL/TLS,并且支持现代的SSL/TLS版本和加密套件。如果您使用的是Nginx或Apache等Web服务器,您可能需要检查其SSL/TLS配置文件。
  2. 更新浏览器:过时的浏览器可能不支持现代的SSL/TLS版本或加密套件。确保您的浏览器是最新的,并且已启用对现代SSL/TLS版本和加密套件的支持。
  3. 检查CloudFlare的SSL/TLS配置:确保您在CloudFlare中正确配置了SSL/TLS,包括回退源和自定义主机名的设置。
  4. 尝试不同的SSL/TLS设置:在CloudFlare的SSL/TLS设置中,尝试使用不同的设置,例如“完全(严格)”或“完全”,看看是否可以解决问题。
  5. 联系CloudFlare支持:如果以上步骤都无法解决问题,您可能需要联系CloudFlare的支持团队寻求帮助。他们可以查看您的配置并提供更具体的建议。
 类似资料:
  • 那么... 我在端口8080的服务器上运行了一个节点应用程序,我正在尝试使用NGINX和CloudFlare使其能够通过SSL工作。请注意以下几点。。。 我的主机正在运行Ubuntu 16.04 LTS ...我以前的NGINX配置看起来像。。。 ...现在看起来。。。 ...我遵循了这里的例子和它在这里提供的链接,我怀疑上面的一切都是必需的(我是一个极简主义者)。每当我运行时,我仍然会在未指定s

  • 我试图使用Cloudflare为CDN/保护运行带有Node.js+Socket.io的Apache,但是出了问题。 我用来在node.js上创建服务器的代码是 我实际上是在使用ProxyPass来处理子域“API”。传递给node.js/express: 这是工作的,但webosocket不是。没有Apache(直接在Express上运行),所有工作都很好,包括WebSocket。但是,我也需要

  • 问题内容: 我开始按照Android所没有使用的教程进行操作,并得到以下信息: 我想这可以归结为几个问题: 我没有创建自己的信任库,但是在网上搜索教程和其他内容时,不确定如何创建信任库。有没有一种方法可以创建或修改信任库以在其中存储所需的证书?(如果有任何不同,我使用的是自签名证书) 如何使SSL握手顺利进行?现在,我得到的错误是: 老实说,我真的不明白这意味着什么。 我需要在Android设备上

  • 问题内容: 尝试使用Cloudflares新的免费通用SSL在Heroku上获得完全免费的SSL 阅读本文: http //mikecoutermarsh.com/adding-ssl-to-heroku-with- cloudflare/ 这似乎表明,Cloudflare现在可以免费提供SSL。 我采取的步骤: 使用Cloudflare设置我的DNS(免费帐户) 将我的域转发到我的herokua

  • 一个文本域最终输入的类型类似adc=222&&oiu=987。运算符和运算符前面的是根据输入的内容提示的。该怎么回显啊。

  • 本文向大家介绍解决Spring Boot 正常启动后访问Controller提示404问题,包括了解决Spring Boot 正常启动后访问Controller提示404问题的使用技巧和注意事项,需要的朋友参考一下 问题描述   今天重新在搭建Spring Boot项目的时候遇到访问Controller报404错误,之前在搭建的时候没怎么注意这块。新创建项目成功后,作为项目启动类的Applicat