1

我在 blob 存储中托管了一个 Hugo 生成的静态站点,并且根路径可以很好地显示该站点。但是,当我单击指向任何其他页面的链接时,我收到以下错误。我已经验证了实际的 blob 存在,所以我认为这是我的 proxies.json 文件的问题。

这是错误

<Error>
   <Code>BlobNotFound</Code>
     <Message>
       The specified blob does not exist. RequestId:304b66fb-401e-00a0-2763- 
       d2f5b4000000 Time:2018-04-12T13:37:06.9267123Z
     </Message>
</Error>

这是我原来的 proxies.json 文件。我已经经历了它的一些变化,但似乎没有任何效果。

    {
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/"
            },
            "backendUri": "https://e.blob.core.windows.net/site-content-jrb-fyi/index.html"
        },
        "firstlevel": {
            "matchCondition": {
                "route": "/{level1}/{item}"
            },
           "backendUri": "https://e.blob.core.windows.net/site-content-jrb-fyi/{level1}/{item}"
        },
        "secondlevel": {
           "matchCondition": {
                "route": "/{level1}/{level2}/{item}"
            },
            "backendUri": "https://e.blob.core.windows.net/site-content-jrb-fyi/{level1}/{level2}/{item}"
        },
        "thirdlevel": {
            "matchCondition": {
                "route": "/{level1}/{level2}/{level3}/{item}"
            },
            "backendUri": "https://e.blob.core.windows.net/site-content-jrb-fyi/{level1}/{level2}/{level3}/{item}"
        },
        "fourthlevel": {
            "matchCondition": {
                "route": "/{level1}/{level2}/{level3}/{level4}/{item}"
            },
            "backendUri": "https://e.blob.core.windows.net/site-content-jrb-fyi/{level1}/{level2}/{level3}/{level4}/{item}"
        },                
        "rest": {
            "matchCondition": {
                "route": "{*restOfPath}"
            },
            "backendUri": "https://e.blob.core.windows.net/site-content-jrb-fyi/{restOfPath}"
        }
    }
}

这是容器中的文件结构

├───about ├───blog │ ├───ghost-is-not-my-blog-engine │ ├───hugo-with-azure-function-proxies │ └───page │ └───1 ├───categories │ ├───azure │ │ └───page │ │ └───1 │ ├───azure-function-proxies │ │ └───page │ │ └───1 │ ├───cms │ │ └───page │ │ └───1 │ ├───ghost │ │ └───page │ │ └───1 │ └───hugo │ └───page │ └───1 ├───css ├───fonts ├───img │ └───main ├───js └───tag

任何帮助将不胜感激。

谢谢,

约翰

4

1 回答 1

1

我知道这很旧,但是当您的 blob 容器未设置为允许匿名只读访问时,就会出现此错误。

从 Azure 门户,您可以更新一个或多个容器的公共访问级别:

  1. 导航到 Azure 门户中的存储帐户概述。

  2. 在菜单刀片上的 Blob 服务下,选择 Blob。

  3. 选择要为其设置公共访问级别的容器。

  4. 使用更改访问级别按钮显示公共访问设置。

  5. 从公共访问级别下拉列表中选择所需的公共访问级别,然后单击确定按钮将更改应用到选定的容器。

于 2019-11-17T08:20:19.283 回答