web-dev-qa-db-ja.com

ERR_SSL_VERSION_INTERFERENCE on Chrome

クライアントサーバー通信に websocket-sharp を使用し、Let's Encryptによって発行された証明書を持つWebサイトがあります。他のブラウザでも動作しますが、Google Chrome(Linuxの場合)エラーERR_SSL_VERSION_INTERFERENCEコンソールで。 TLS 1.3を無効にすると、ユーザーはこのエラーを回避できます。最新の安定バージョンを使用しています。

これ 答えは、問題がChrome検出 "バグのあるミドルウェア"であるが、そうではないことを示唆している'Chromeが探しているものを正確に知りません。

11
seattleite7

これは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): 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の同じ問題も修正されました。

5
seattleite7