45

我们的 Azure Blob 存储证书今天已过期。这不是我们提供的证书,而是由 Microsoft 提供的,如下图所示。如何解决这个问题?我曾尝试寻找解决方案,但一无所获。我们的应用程序无法连接到存储,因为证书已过期,并且我们收到错误指示:无法为 SSL/TLS 安全通道建立信任关系

在此处输入图像描述

4

4 回答 4

26

作为一项临时措施,我能够登录到 azure 门户并将连接字符串的协议部分从 https 更改为 http。

于 2013-02-22T21:22:11.770 回答
5

如果您可以 RDP 进入您的角色,还有两个可能的解决方案。

  1. 在 c:\Config 目录中手动更改配置。
  2. 构建一个已修补的 DLL 以解决该问题,然后通过 RDP 手动上传它。解决方法可能是硬编码连接字符串,或放入代码以接受过期证书。例如:ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

在 MSDN 论坛上向 AlexNS 提供关于想法 #2 的提示以及向 Jason Vallery 提供证书验证回调代码的提示)

如评论中所述,禁用 HTTPS 和/或忽略证书验证错误可能会危及您的通信安全。因此,在您执行此操作之前请三思而后行,并在 Microsoft 解决此问题后立即将其更改回来。

于 2013-02-22T22:34:03.947 回答
1

首先,我们能够通过显式使用 HTTP 端点进行存储来避开大部分问题(我们不会在那里存储任何过于敏感的内容)。

如果您处于类似情况并且可以使用 HTTP 端点,有一种解决方法可以让您永久升级角色。它涉及带有本地包的 Azure Powershell 部署,即使通过两个门户的升级继续失败,它似乎也能正常工作。

于 2013-02-23T05:03:14.043 回答
0

请注意 - 如果您从 https 切换到 http,则传输机制不再确保数据正确传输,您可能需要检查 blob 的 MD5。

StorageClient < 2.0 有时通过上传来管理这一点,但阅读这篇文章,从不下载。

对于 StorageClient 2.0,您可能需要将 BlobRequestOptions 更改为 UseTransactionalMD5(详见此处

于 2013-02-25T11:57:36.723 回答