TLS1.2 上的 Azure 应用服务到应用服务通信失败

Posted

技术标签:

【中文标题】TLS1.2 上的 Azure 应用服务到应用服务通信失败【英文标题】:Azure App Service to App Service communication on TLS1.2 failing 【发布时间】:2020-12-16 21:55:12 【问题描述】:

我有一个带有 Stack General 设置 ASP.NET v4.7 的 Azure 应用服务。但是,在 web.config 目标运行时版本是 4.5.1。

我有另一个托管 Linux 容器的 Azure 应用服务。

第一个设置为使用 TLS 1.2。 我正在从 .NET App(第一个)向 Linux 容器(第二个)发起请求。 第二个,Linux 容器设置为使用 TLS 1.2 请求失败,但设置为 TLS 1.0 请求处理成功。

有人遇到过这个问题吗?

【问题讨论】:

如果您也可以发布异常,这样我们就可以深入了解这里的“失败”是什么。 the underlying connection was closed: an unexpected error occurred on a send 收到此异常。 【参考方案1】:

从帖子中缩小您的问题范围很棘手,但您可以尝试一些事情。

确保没有对 TLS 版本进行硬编码。相反,您可以尝试使用ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 对 TLS 版本进行硬编码。尝试运行。如果它有效,您将清楚没有其他问题,您需要切换到正确的 .NET 版本。 以 .NET Framework 4.7 及更高版本为目标。你说你的目标运行时版本是 4.5.1,默认情况下它不会帮助发送带有最新 TLS 版本的请求。 web.config 中的<system.web><httpRuntime targetFramework> 应显示预期的 .NET 版本。 最后但并非最不重要的是,耐心阅读doc 总是好的,您可能会自己找出问题所在。

【讨论】:

以上是关于TLS1.2 上的 Azure 应用服务到应用服务通信失败的主要内容,如果未能解决你的问题,请参考以下文章

如何使用客户端上的“requests”模块和服务器上的“flask-restful”验证 https 请求的自签名证书(TLS1.2)

Java nio socketchannel使用TLS1.2在safari和IOS中读取早期eos

更新 .NET Web 服务以使用 TLS 1.2

Gmail SMTP 客户端在 Azure 上失败

在 IIS 10 windows server 2019 上启用 TLS 1.3

Windows Server 2008 R2 下配置TLS1.2,添加自签名证书