8

我有一个 Azure WebJob,它在本地运行时工作正常,但在 Azure 中运行时会引发异常。WebJob 正在通过 HTTPS 进行外部调用,这在 Azure 中会产生此异常:

System.Net.WebException:请求被中止:无法创建 SSL/TLS 安全通道。在 System.Net.HttpWebRequest.GetResponse()

我还尝试将安全协议设置为 TLS 使用ServicePointManager,但这也对异常没有影响。这是我的代码片段。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

var request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "GET";

Azure 会阻止 WebJobs 访问 Internet,还是我做错了什么?

4

2 回答 2

2

我遇到了同样的问题,最后在 MSDN 论坛上的以下帖子的帮助下设法让它工作:

https://social.msdn.microsoft.com/Forums/en-US/ca6372be-3169-4fb5-870f-bfbea605faf6/azure-webapp-webjob-exception-could-not-create-ssltls-secure-channel?forum= windowsazure网站预览

微软似乎在上个月(2015 年 10 月)为这个问题部署了修复程序,但我还必须设置:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;

请注意,我省略了 SecurityProtocol.Tls,因为 Microsoft 员工在 MSDN 主题的回复之一中提到它似乎不受支持:

来自在 Web 应用程序中运行的 .NET 代码的客户端 hello 表明它正在尝试将 TLS v1.0 与 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 密码一起使用,这些密码显然在服务器上不受支持。在 .NET 4.5 中,您可以要求它使用不同的协议版本,然后一旦我这样做,事情就会开始为我工作。

于 2015-11-02T18:01:24.477 回答
0

尝试扩展到基本层。似乎免费/共享层不支持 SSL/TLS,即使您通过文件(而不是证书存储)使用它们。

于 2015-06-24T01:14:24.103 回答