【问题标题】:The requested URI does not represent any resource on the server请求的 URI 不代表服务器上的任何资源
【发布时间】:2018-06-13 08:38:24
【问题描述】:

我正在尝试在 Azure Blob 存储中托管一个网站 as discussed here

我已经成功使用 www.mysite.com.au 重定向到
(其中 mysite 不是真名)

http://docs.mysite.com.au/site/index.html(不是真正的网址)

其中 docs 是一个 cname,别名是 blob 存储名称。

blob 访问策略设置为容器

Azure 中的直接链接是https://mysite.blob.core.windows.net/site/index.html(不是真实姓名)

我很疑惑为什么我不能直接去http://docs.mysite.com.au/site/index.html

当我这样做时,我得到一个错误

请求的 URI 不代表服务器上的任何资源

我认为答案可能与使用 blob 而不是文件有关。 类似于为什么不能在 $root 中创建“子文件夹”。

[更新] 当我删除 index.html 然后重新上传时,我也遇到了这个问题。 我可以在存储资源管理器中看到该文件。 我想我需要恢复到应用服务。

【问题讨论】:

    标签: azure-blob-storage


    【解决方案1】:

    对于在 Azure Blob 存储上托管静态网站,您可以利用根容器 ($root) 并将文件存储在根路径下,如下所示:

    https://brucchstorage.blob.core.windows.net/index.html
    Custom domain: http://brucestorage.conforso.org/index.html
    

    对于脚本和 css 文件,您可以创建另一个容器(例如 content),然后将脚本文件放在 content/script/ 下,将 css 文件放在 content/css/ 下,或者您可以创建每个容器来存储脚本和 css 文件。

    https://brucchstorage.blob.core.windows.net/content/css/bootstrap.min.css
    https://brucchstorage.blob.core.windows.net/content/script/bootstrap.min.js
    

    请求的 URI 不代表服务器上的任何资源

    AFAIK,根容器中的 blob 不能在其名称中包含正斜杠 (/)。如果您将 blob 上传到名称中带有 / 的根容器中,那么您将检索到此错误。

    【讨论】:

    • $root 无法包含文件夹的一个很好的解决方法 但是我没有使用 $root。我更新了问题以表明我可以在存储资源管理器中看到该文件。
    • 例如http://docs.mysite.com.au/site/index.htmlsite是你的容器名,blob名是index.html,你可以通过浏览器访问你的资源。这是我的脚本示例:brucestorage.conforso.org/content/script/bootstrap.min.js,请查看您的资源链接。
    • 哦,亲爱的,我现在实际上已经删除了该网站,我很沮丧对不起。但是,根据问题,该文件可以通过 Azure 链接访问,因此它确实存在。它只是无法通过涉及域名的链接访问。
    • 我直到现在才意识到$root 是一个不能有子文件夹的特殊文件夹。这解释了我在尝试将文件上传到$root 下面的虚拟文件夹时收到的所有错误消息。
    【解决方案2】:

    我想我一定是在 Azure 中错误地设置了自定义名称。 应该是 docs.mysite.com.au(不是真名)

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 1970-01-01
      • 2021-05-10
      • 2018-05-14
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2017-06-23
      相关资源
      最近更新 更多