我的Azure Web应用程序需要连接到各种服务器(使用和不使用SSL)。只要我在Windows 10上的本地IIS Express或IIS 7.5中运行应用程序,这就完美无缺。
一旦我将应用程序部署到Azure,它就会停止为需要SSL的某些服务器工作(不是全部)。如果我通过ssllabs运行它们,通常会获得A,而工作的则获得B或C。
所以我假设Azure实例上的.NET支持的密码少于本地支持的密码或类似的东西?
我已尝试过这个
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
| SecurityProtocolType.Tls11
| SecurityProtocolType.Tls12
| SecurityProtocolType.Ssl3;
在没有任何TLS标志的情况下也试过它,因为这是大多数人的建议,但它没有帮助。根据下面的帖子,10月有一个修复,但现在是12月 https://social.msdn.microsoft.com/Forums/en-US/ca6372be-3169-4fb5-870f-bfbea605faf6/azure-webapp-webjob-exception-could-not-create-ssltls-secure-channel?forum=windowsazurewebsitespreview
它也与Cloud Flare无关。
有什么想法吗?或者也许要开始,我如何看到我的应用程序尝试使用的密码和可用的密码?
答案 0 :(得分:0)
可能不支持SSL3或Tls1.0?我有一个类似的问题,切换到这一切后,一切正常:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
您可以使用ssllabs
来测试您尝试连接的服务器使用哪些协议。