【问题标题】:Azure Storage Static website error - Resource not found or content doesn't existAzure 存储静态网站错误 - 找不到资源或内容不存在
【发布时间】:2019-09-27 04:23:59
【问题描述】:

为了了解静态网站在 Azure 存储中的工作方式,我创建了一个基本的 Angular 应用程序并将 dist 文件夹中的文件上传到静态网站。但是当我尝试访问该 URL 时,我收到一条 404 错误消息,上面写着 “请求的内容不存在”。

此外,我可以看到文件存在于$web 路径下,但是当我单击文件 URL <azurestorageurl>/$web/index.html 时,浏览器会抛出错误消息“找不到资源”。。 p>

.

【问题讨论】:

  • 请检查$web blob 容器的ACL。很可能它被设置为Private
  • @GauravMantri 谢谢。这有帮助。请将其添加为答案。 :)
  • 用 Azure 存储团队的意见更新了我的答案。 HTH。

标签: azure azure-storage azure-storage-files


【解决方案1】:

我也遇到了类似的错误,并通过将 index.html 添加到 Index document name 来修复它。

  1. 登录 Azure 门户开始使用。
  2. 找到您的存储帐户并显示帐户概览。
  3. 选择静态网站以显示静态网站的配置页面。
  4. 选择启用可为存储帐户启用静态网站托管。
  5. 在索引文档名称字段中,指定默认索引页面(例如:index.html)。
  6. 当用户导航到您的静态网站的根目录时会显示默认索引页面。
  7. 在错误文档路径字段中,指定默认错误页面(例如:404.html)。
  8. 当用户尝试导航到您的静态网站中不存在的页面时,将显示默认错误页面。
  9. 点击保存。

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website-how-to?tabs=azure-portal

【讨论】:

    【解决方案2】:

    我在 Azure 存储帐户静态站点上托管 Angular 应用程序时遇到了非常相似的问题,在重新加载页面或通过 URL 导航时出现以下错误。我必须将 Angular 路由器设置为使用 HashLocationStrategy 而不是默认策略。另外,因为我使用的是 ASP 样板 (ASPNetZero),所以我必须将其添加到 RootRoutingModule。

    现在我可以通过手动更改 URL 来刷新和导航。

    Angular Hash Location Strategy

    【讨论】:

    • 这是答案还是问题?
    • 对于遇到相同问题并且在存储帐户上设置 $web 容器的 ACL 没有帮助的任何人来说,这是一个答案
    • 没问题@Shree。我编辑了我的答案,以明确表明它现在对我有用。
    【解决方案3】:

    您收到此错误的原因是 $web blob 容器的 ACL 默认为 Private

    请将 ACL 更改为 Blob(推荐)或 Container,您应该不会看到此错误。

    更新

    因此,我联系了 Azure 存储团队并提请他们注意这个问题。他们很友善地向我解释了这种行为。

    基本上,如果您通过静态网站端点(例如account.z5.web.core.windows.net)访问静态网站的内容,则无需更改 blob 容器的 ACL。即使$web 的ACL 是Private,内容也应该可以访问。当您通过 Blob 存储端点(例如account.blob.core.windows.net)访问内容时,Blob 容器的 ACL 就会出现。

    【讨论】:

    • 感谢您进一步挖掘。是的,这就是我的想法,因为没有演示视频或博客文章提到 ACL 更改。不幸的是,当 ACL 设置为私有(默认)时,静态网站端点对我不起作用。在我将 $web ACL 更改为 Blob 的那一刻,我能够访问该页面。不知道根本原因是什么。
    • Unfortunately, the static website endpoint wasn't working for me when ACL was set as Private (default) - 这很奇怪!我最终尝试了它(在发布更新之前),它对我来说非常好。您确定您使用的是静态网站端点而不是存储端点吗?
    • 是的,很确定。我对两个端点有不同的错误。我的问题中突出显示的第一个错误 (404) 是针对静态网站端点 https://storageaccount.z19.web.core.windows.net。第二个错误 (xml) 是针对 blob 端点的。为了确定,我将文件上传到多个存储帐户。
    • 我需要为我的 vue 应用程序路由设置这个以路由回 index.html,vue 路由在私有(或可能任何 SPA 路由)下不起作用
    猜你喜欢
    • 1970-01-01
    • 2021-06-10
    • 2012-08-17
    • 2019-04-03
    • 2013-02-28
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多