Azure Web App虚拟应用下SPPKG文件访问报资源不存在错误求助
排查及解决步骤
1. 配置.sppkg后缀的MIME类型(最常见原因)
Azure Windows Web App默认基于IIS运行,IIS默认没有注册.sppkg后缀的MIME类型,所有未注册后缀的静态文件请求都会直接返回404。你可以在site\wwwroot\SP2019resources目录下新增web.config文件,写入如下配置:
<?xml version="1.0"?> <configuration> <system.webServer> <staticContent> <remove fileExtension=".sppkg" /> <mimeMap fileExtension=".sppkg" mimeType="application/octet-stream" /> </staticContent> </system.webServer> </configuration>
添加remove是为了避免父站点已经配置过该后缀导致的配置冲突。
2. 验证虚拟路径映射配置
- 确认路径映射中
/SP2019resources对应的类型为「虚拟目录」或「应用」:如果仅托管静态文件,选虚拟目录即可,无需单独分配应用池 - 确认物理路径拼写完全正确,路径分隔符用反斜杠
\,与你截图中的配置保持一致 - 确认虚拟路径的「读取」权限已经勾选
3. 排查权限问题
你可以在SCM后台的PowerShell终端执行如下命令,查看目标目录的访问权限:Get-Acl D:\home\site\wwwroot\SP2019resources | Format-List *
确认IIS应用池身份(默认为IUSR)拥有该目录的读取和列出目录内容权限,如无权限可在SCM中右键目录修改权限,或在路径映射配置中重新勾选权限后重启Web App。
4. 定位404错误具体原因
进入Web App门户的「诊断和解决问题」板块,搜索「404 错误排查」工具,查看失败请求的404子状态码:
- 子状态码为
3:确认是MIME类型未注册,回到第一步配置即可 - 子状态码为
0:路径映射错误,重新核对虚拟路径、物理路径拼写 - 子状态码为
6:权限不足,按第三步调整目录权限 - 子状态码为
12:URL长度超限,调整站点的maxUrlLength配置即可
内容的提问来源于stack exchange,提问作者Sibeesh Venu
相关产品推荐
相关产品推荐

