【问题标题】:Storage account - The account being accessed does not support http存储账户 - 被访问的账户不支持http
【发布时间】:2023-03-10 09:43:01
【问题描述】:

我创建了一个 MVC Web 应用程序应用程序和一个存储帐户(表)。我收到了错误

StatusMessage:The account being accessed does not support http.
ErrorCode:AccountRequiresHttps

当我创建 MVC 应用程序时,我勾选了 Configure for Https。有谁知道我可以在哪里配置它以使用 https 以及为什么我无法访问它? (我尝试在 IIS express 和 IIS 上运行)

提前致谢

【问题讨论】:

    标签: asp.net-mvc azure azure-storage


    【解决方案1】:

    说明
    默认情况下,Azure 存储帐户默认需要安全访问(即通过 HTTPS 访问)。
    您选中的框(为 HTTPS 配置)意味着 MVC Web 应用程序 可通过 HTTPS(仅)访问。您遇到的错误是您通过 HTTP 访问存储帐户。这是从您的 Web 应用程序到您的存储帐户的传出连接。这包含在您选中的框内。

    解决方案
    如果您想使用 HTTPS 连接到 存储帐户,请确保您用于存储帐户的连接字符串包含/以 DefaultEndpointsProtocol=https; 开头。这会将存储帐户客户端配置为通过 HTTPS 访问存储帐户。

    其他信息

    安全传输选项仅允许通过安全连接向存储帐户发出请求,从而增强了存储帐户的安全性。例如,在调用 REST API 来访问您的存储帐户时,您必须使用 HTTPs 进行连接。启用“需要安全传输”后,任何使用 HTTP 的请求都将被拒绝。

    编辑:
    如果您使用CloudStorageAccount 类的构造函数来“构建”连接字符串,请确保为useHttps 参数传入true

    【讨论】:

    • 我在 secrets.json 文件中存储了 StorageAccount 名称、存储密钥、表名。尝试包括 DefaultEndpointsProtocol=https。我启用了“需要安全传输” - 没有任何区别。
    • 但是在 CloudStorageAccount 中设置 useHttps 为 true storageAccount = new CloudStorageAccount(new StorageCredentials(this.settings.StorageAccount, this.settings.StorageKey), true);工作。 :) 谢谢@rickvdbosch
    • @Dev 其他人登陆此问题,如果这解决了您的问题,请标记为答案。
    猜你喜欢
    • 2019-03-24
    • 2020-11-26
    • 2018-08-06
    • 2021-12-07
    • 2018-11-26
    • 1970-01-01
    • 2023-03-17
    • 2018-12-20
    • 2019-08-08
    相关资源
    最近更新 更多