Chrome 上的 ERR_SSL_VERSION_INTERFERENCE

Posted

技术标签:

【中文标题】Chrome 上的 ERR_SSL_VERSION_INTERFERENCE【英文标题】:ERR_SSL_VERSION_INTERFERENCE on Chrome 【发布时间】:2018-04-22 05:14:11 【问题描述】:

我有一个使用websocket-sharp 进行客户端-服务器通信的网站,并拥有由Let's Encrypt 颁发的证书。其他浏览器工作,但谷歌浏览器(在 Linux 上)在控制台中给出错误 ERR_SSL_VERSION_INTERFERENCE。禁用 TLS 1.3 可让用户规避此错误。我正在使用最新的稳定版本。

This 回答表明问题在于 Chrome 检测到 "buggy middleware" 但我不知道 Chrome 到底在寻找什么。

【问题讨论】:

【参考方案1】:

这原来是 Mono 的一个问题。 Mono 在较新版本中使用 BoringSSL,但在旧版本中默认情况下未启用。在较新的 Linux 发行版上,您可以使用 export MONO_TLS_PROVIDER=btls 但这对我不起作用,因为 CentOS 6(4.4 版)上的 gcc 编译器太旧并且不支持编译 BoringSSL 所必需的 align

首先我安装了 gcc 4.8 并从这里获得说明:https://gist.github.com/stephenturner/e3bc5cfacc2dc67eca8b

wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
sudo yum install devtoolset-2
scl enable devtoolset-2 bash

然后我从他们的网站(目前为 5.12.0.226)下载了 mono 的最新发布包:http://www.mono-project.com/docs/compiling-mono/linux/

wget https://download.mono-project.com/sources/mono/mono-5.12.0.226.tar.bz2
tar xvf mono-5.12.0.226.tar.bz2
cd mono-5.12.0.226
./configure --prefix=/usr/local
make
make install

以防万一,我也做了export MONO_TLS_PROVIDER=btls,虽然我认为没有必要,但不管你看./configure末尾的输出,它应该告诉你是否启用了BTLS。

这也解决了最近 Firefox 更新 60.0.0.2 的相同问题。

【讨论】:

以上是关于Chrome 上的 ERR_SSL_VERSION_INTERFERENCE的主要内容,如果未能解决你的问题,请参考以下文章

chrome怎么看元素上的事件

keyup 无法在 Android 上的 Chrome 上运行

为啥 Chrome 上的页面更长? [关闭]

Windows与Linux(硒)上的Chrome和Firefox

IOS 中 chrome 上的智能横幅

文本框上的 Chrome 自动填充和自动完成问题