如何更正“Mono.Btls.MonoBtlsException:Ssl错误:1000042e:SSL例程:OPENSSL_internal:TLSV1_ALERT_PROTOCOL_VERSION”

问题描述 投票:0回答:1

我已将 Ubuntu 18.04 升级到 20.04 VPS 。

然后我还升级了 Mono 运行时,现在是 6.12.0.200 。 阿帕奇是 2.4.41.

我有一个“混合”应用程序 PHP + Asp.net / ASMX 中的一些 Web 服务。

升级后,如果我调用任何 ASMX,我会收到以下错误:Mono.Btls.MonoBtlsException:Ssl 错误:1000042e:SSL 例程:OPENSSL_internal:TLSV1_ALERT_PROTOCOL_VERSION。

我的服务器在 HTTPS 上运行,并带有 Let's Encrypt 证书。

我可以做什么来解决?

谢谢

asp.net ubuntu mono
1个回答
0
投票

此处提到,尝试设置

MONO_TLS_PROVIDER
tp
legacy
,检查问题是否仍然存在,然后重新启动您的应用程序。

MONO_TLS_PROVIDER=legacy mono your_app.exe

mono/mono
第11763期]提到:

export MONO_TLS_PROVIDER=legacy
mono MonoSslTest.exe

作品:

Certificate Subject [CN=client1]

然而,与正常工作的 btls 相比,在此平台上使用旧版提供程序会使每个 HTTPS 请求花费超过 30 秒(即使是那些不使用客户端证书的请求)。

如果您不愿意再等一年,我采取了一种解决方法,即不在 Mono 中使用 HTTPS,而是使用 nginx 作为代理,并在请求标头中将客户端证书传递给 Mono。

© www.soinside.com 2019 - 2024. All rights reserved.