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

时间:2018-01-03 16:26:49

标签: azure-storage-blobs

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

我在www.mysite.com.au取得了成功,重定向到了 (其中mysite不是真名)

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

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

blob访问策略设置为Container

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

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

当我这样做时,我收到错误

  

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

对于脚本和css文件,您可以创建另一个容器(例如content),然后将脚本文件放在content/script/content/css/下的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上载到根容器中,则会检索此错误。

答案 1 :(得分:0)

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