我有一个Azure WebJob,它在本地运行时工作正常,但在Azure中运行时会引发异常。 WebJob正在通过HTTPS进行外部调用,在Azure中会产生此异常:
System.Net.WebException:请求已中止:无法创建 SSL / TLS安全通道。在System.Net.HttpWebRequest.GetResponse()
我还尝试使用ServicePointManager
将安全协议设置为TLS,但这对异常也没有影响。这是我的代码片段。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
Azure是否阻止WebJobs上网或我做错了什么?
答案 0 :(得分:2)
我遇到了同样的问题,最终设法让它在MSDN论坛上的以下帖子的帮助下工作:
上个月(2015年10月)似乎微软部署了这个问题的解决方案,但我还必须设置:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
请注意,我遗漏了SecurityProtocol.Tls,因为在MSDN主题的一个回复中,微软员工似乎不支持它:
在Web应用程序内运行的.NET代码的客户端问候显示了它 正在尝试将TLS v1.0与TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA一起使用, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA密码显然不是 在服务器上支持。在.NET 4.5中,您可以要求它使用不同的 协议版本,然后一旦我这样做,事情开始为我工作。
答案 1 :(得分:0)
尝试扩展到基本层。似乎免费/共享层不支持SSL / TLS,即使您按文件(而不是证书存储)使用它们。