我有一个使用 websocket-sharp 的网站用于客户端-服务器通信,并拥有 Let's Encrypt 颁发的证书。其他浏览器工作,但谷歌浏览器(在 Linux 上)在控制台中给出错误 ERR_SSL_VERSION_INTERFERENCE
。禁用 TLS 1.3 可让用户规避此错误。我正在使用最新的稳定版本。
This答案表明问题出在 Chrome 检测到 “有问题的中间件” 但我不知道 Chrome 到底在寻找什么。
最佳答案
这原来是 Mono 的问题。 Mono 在较新版本中使用 BoringSSL,但在旧版本中默认情况下未启用。在较新的 Linux 发行版上,您可以执行 export MONO_TLS_PROVIDER=btls
但这对我不起作用,因为 CentOS 6(版本 4.4)上的 gcc 编译器太旧并且不支持 align
是编译 BoringSSL 所必需的。
首先,我按照此处的说明安装了 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
然后我从他们的网站下载了mono的最新发布包(目前是5.12.0.226):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 中的相同问题。
关于linux - Chrome 上的 ERR_SSL_VERSION_INTERFERENCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49962714/