如何启用对资产文件夹的权限

时间:2019-06-03 11:10:49

标签: azure azure-web-app-service

我将我的项目部署在web应用程序(带有cli的Angular 7)上,并且可以在我的网站上看到它“正常运行”。 问题是似乎该应用程序无法访问资产文件夹,所有请求均失败。

e {headers: t, status: 404, statusText: "Not Found", url: "https://<mysite>/assets/i18n/it.json", ok: false, …}
error: "The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
headers: t {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message: "Http failure response for https://<mysite>/assets/i18n/it.json: 404 Not Found"
name: "HttpErrorResponse"
ok: false
status: 404
statusText: "Not Found"
url: "https://<mysite>/assets/i18n/it.json"

我要更改的是

的虚拟路径
site\wwwroot

site\wwwroot\dist\<name of project>

添加以下设置:

"WEBSITE_NODE_DEFAULT_VERSION" "8.10.0" 
"SCM_COMMAND_IDLE_TIMEOUT" "1800" 

如果我使用控制台导航到该文件夹​​,则存在该文件夹,但是如果我通过浏览器导航到该文件夹​​,则响应为:

  

“您无权查看此目录或页面。”

文件也存在,但给我错误:

  

“您要查找的资源已被删除,名称已更改或暂时不可用。”

我什至尝试将资产文件夹添加为“虚拟应用程序和目录”中的目录:

VIRTUAL PATH    PHYSICAL PATH                             TYPE  
/               site\wwwroot\dist\mysite               Application  
/assets         site\wwwroot\dist\mysite\assets        Directory

但没有任何改变

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

这似乎是Azure WebApp的常见问题,默认情况下不支持静态json文件。要解决此问题,您需要为mimetype添加json的web.conf设置。请参阅我的答案以获取其他类似的SO线程Getting "404 not found" on doing a GET on local file in Azure web app

这是mimetype的示例web.conf设置。

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
     </staticContent>
    </system.webServer>
</configuration>

希望有帮助。