我在blob存储中托管Hugo生成的静态站点,根路径显示网站就好了。但是,当我点击任何其他页面的链接时,我收到以下错误。我已经确认实际blob存在,所以我认为我的proxies.json文件存在问题。
这是错误
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body ng-app="myApp" ng-controller="myCtrl">
<h1 ng-repeat="x in records">{{x.Class}}
</h1>
<div ng-repeat="s in records.students">{{s.name}}</div>
<input ng-model="formdata.name" type="text" />
<input type="button" value="Save" ng-click="saveName(formdata)">
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.records = [{"Class":"Class 8"}];
$scope.saveName = function(name)
{
$scope.records.students.push({"name":name});
}
});
</script>
</body>
</html>
这是我原来的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>
这是容器中的文件结构
{
"$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}"
}
}
}
非常感谢任何帮助。
谢谢,
约翰
答案 0 :(得分:0)
我知道这很旧,但是当您的Blob容器未设置为允许匿名只读访问时,就会出现此错误。
从Azure门户,您可以更新一个或多个容器的公共访问级别:
在Azure门户中导航到您的存储帐户概述。
在菜单栏上的Blob服务下,选择Blob。
选择要为其设置公共访问级别的容器。
使用“更改访问级别”按钮显示公共访问设置。
从“公共访问级别”下拉列表中选择所需的公共访问级别,然后单击“确定”按钮将更改应用于所选容器。