Azure CDN to Azure storage 给BlobNotFound, direct link to storage shows the image

Azure CDN to Azure storage gives BlobNotFound, direct link to storage shows the image

我正在学习 pluralsight 课程以熟悉 Azure 的更多方面。 CDN 是其中之一,但我无法让它工作,我无法弄清楚我做错了什么。

我正在学习的 pluralsight 课程名为 Building a Global App with Azure PaaS. The steps to create an Azure storage and a CDN are explained pretty clear, yet the CDN won't work for me. I did those steps twice. I also followed the steps described on this page: Getting started with Azure CDN,但结果相同。这些是我的结果: 1) 可以通过以下 links:

访问图像

link 1 to azure storage

link 2 to azure storage

2) 我也尝试通过这个 link:

link to azureedge.net (CDN)

但是这个 link 给我这个错误:

<Error>
    <Code>BlobNotFound</Code>
    <Message>
        The specified blob does not exist. RequestId:162b11b9-0001-0010-5713-ce53d6000000 Time:2017-05-16T07:08:30.2920262Z
    </Message>
</Error>

错误代码指出blob不存在,但我发现描述不清楚,因为link 1和link 2工作正常,所以blob不存在的地方?

我也等了 90 多分钟(甚至接近一天),然后检查它是否在这段时间后有效。我在周末开始之​​前第一次尝试创建 CDN,下周一它仍然没有用。

Azure 存储访问策略设置为容器。根据azure上的资料,这样应该可以让容器的所有内容只读。

有谁知道我可能做错了什么?

我相信我知道为什么会出现这个问题。因为您已将 Origin Path 设置为 cdn,所以 URL http://testcdncornelis.azureedge.net 映射到 http://psic2.blob.core.windows.net/cdn 而不是 http://psic2.blob.core.windows.net 。现在您将 cdn 附加到此 CDN 路径,Blob 存储的实际 URL 变为 http://psic2.blob.core.windows.net/cdn/cdn/cookie.jpg。由于 blob 存在于 cdn 容器中,而不存在于 cdn 容器内的 cdn 虚拟文件夹中,因此您会收到此错误。

有两种方法可以解决此问题:

  • 删除 CDN 配置中的 Origin Path 设置。然后 testcdncornelis.azureedge.net 将映射到 psic2.blob.core.windows.net,您可以使用您现在正在使用的 URL。
  • 保留 Origin Path 但将您使用的 CDN URL 更改为 http://testcdncornelis.azureedge.net/cookie.jpg

请在此处查看故障排除指南中的 Origin Path 部分:https://docs.microsoft.com/en-us/azure/cdn/cdn-troubleshoot-endpoint