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