'X' 的帐户凭据不正确(但连接字符串在我的机器上有效)

The account credentials for 'X' are incorrect (But connection string works on my machine)

我们正在尝试 运行 Azure 之外的 azure webjob 控制台应用程序。 (这很好用) 我们也在另一个项目中成功地使用了这种方法。

我们收到错误:

The account credentials for 'X' are incorrect

这是网络作业开始的时间。从数据中心连接到 Azure (Blob) 存储时。使用 AzureWebjobsDashboard / AzureWebjobsStorage 连接字符串。

运行 相同的应用程序,使用来自我本地计算机的相同连接字符串。 (两者都不在 Azure 中。

我在无法连接的服务器上安装的 Azure 存储资源管理器也出现了类似的奇怪行为。存储资源管理器允许附加到帐户,我可以看到队列和其他东西,但是当我 select Blob 容器(不断加载...)

时遇到问题

在我的本地机器上尝试同样的事情也能正常工作。存储资源管理器列出了 blob 容器,我可以在那里管理它们。

我正在使用基于帐户密钥的连接字符串,尝试使用 SAS 令牌,但出现同样的错误。 HTTPS 端口已打开,并且安装了 win10/ 最近的 .net 版本,...

如评论中所述,诊断这些问题的最佳方法是通过 Fiddler 等工具跟踪 request/response。您将获得有关请求失败原因的更多详细信息。

对于遇到此问题的其他人,我发现问题出在 TLS 版本上。

我强制我的 WebJob 使用 TLS 1.2,因为这是我们存储帐户的最低 TLS 版本。

我是通过直接在 ServicePointManager 中设置安全协议来实现的

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;