【问题标题】:Windows Azure Storage Certificate ExpiredWindows Azure 存储证书已过期
【发布时间】:2013-02-25 19:57:36
【问题描述】:

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

【问题讨论】:

  • 哇,感谢您的帖子,我意识到我无法使用某些 Azure Blob 浏览工具,例如 CloudBerry(SSL 问题:The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.)。
  • 我向 Microsoft 开了一个支持案例。这会影响 *.blob.core.windows.net SSL 证书,进而影响全球所有 Blob 存储帐户。微软应该为此丢掉工作。
  • 问题正在认真调查中,仪表板已更新为当前状态。请密切关注仪表板以获取频繁更新:windowsazure.com/en-us/support/service-dashboard
  • Scott Hanselman 正在研究它,您可以在 Twitter 上跟踪它:twitter.com/search/realtime?q=azure+blob&src=typd
  • 版主注意:请尽量减少这篇文章的噪音。你知道,我知道,现在微软也知道了。我们都同意这是一种讽刺。为 Twitter 保存您的编辑 cmets。 下面已经发布了一个临时解决方法。

标签: azure blob blobstorage


【解决方案1】:

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

【讨论】:

  • 保持包含敏感数据的 Blob 只能通过 HTTPS 访问。
  • 如何更改协议?我在门户中没有看到它。
  • 在配置选项卡上向下滚动到设置,找到您的连接字符串并将DefaultEndpointsProtocol=https;更改为DefaultEndpointsProtocol=http;
  • 小心。如果您在门户中更改它,您之前部署的包可能不会重新加载,因为它存储在 Azure 存储中(我相信)。这样做会导致我池中的前 2 个工作角色变得无响应并不断回收。
  • 如果您这样做,请确保保留使用 HTTPS 运行的诊断的连接字符串。如果您将其更改为 HTTP,则监视器会在启动时引发异常,这将导致您的角色无休止地循环使用。
【解决方案2】:

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

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

(给AlexNS on MSDN forums 的想法#2 和 Jason Vallery 的证书验证回调代码的帽子提示)

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

【讨论】:

  • 请注意,这可能会有效地启用MITM 类型的攻击。因此,如果您这样做,请在知道您面临的风险的情况下执行此操作,并在 Microsoft 解决此问题后将其恢复!
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

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

    StorageClient this article,从不通过下载。

    对于 StorageClient 2.0,您可能需要将 BlobRequestOptions 更改为 UseTransactionalMD5 (as detailed here)

    【讨论】:

      猜你喜欢
      • 2010-10-24
      • 2016-03-13
      • 1970-01-01
      • 2018-02-24
      • 2016-09-21
      • 2014-03-13
      • 2020-09-21
      • 1970-01-01
      • 2016-12-22
      相关资源
      最近更新 更多