Azure 应用服务中的 .NET5 Blazor 服务器应用 returns "You do not have permission to view this directory or page"

.NET5 Blazor Server app in Azure App Services returns "You do not have permission to view this directory or page"

我正在尝试通过 Azure DevOps 将使用 .NET5 的 Blazor Server 应用部署到 Azure 应用服务。

Blazor 应用程序在本地运行并正常工作。 Azure DevOps 管道似乎也在正确构建和部署。如果我使用 Azure 门户中的控制台,我可以看到我期望的文件位于 wwwroot 文件夹中(我猜这是正确的?)。在 Configuration > General Settings 中,我可以看到 App Service 已针对 .NET 5 正确配置。在网络端,目前没有访问限制。我现在还关闭了应用程序中的所有身份验证,以确保不会产生影响。

当我尝试访问位于 https://my-app.azurewebsites.net 的站点(不是真正的 url,只是一个相关的示例)时,我得到一个包含以下文本的白页:“您不有权查看此目录或页面。”。当我从 Kudu 页面查看诊断转储时,我可以看到更多详细错误页面,其中显示 403.14 - Forbidden 和消息“Web 服务器配置为不列出此目录的内容。”。如果我在 App Insights 中查看我尝试访问它的时间,我也可以看到带有 403 响应的请求(出于某种原因 url:http://localhost/)。不幸的是,这个错误似乎涵盖了很多错误,因此虽然我发现了具有类似问题的各种来源,但到目前为止我发现的解决方案中 none 产生了任何积极影响。

编辑:所以我做了更多的挖掘,我认为一些文件可能丢失了。我尝试创建一个新的 Blazor Server 应用程序并通过 Visual Studio 手动发布它。这行得通,我从我的应用程序中发现的唯一区别是我没有 web.config、hostingstart.html 或静态 css/js 等(来自 wwwroot)。 None 这些文件在我为我的应用程序或我创建的测试应用程序构建时位于输出目录中,因此看起来它们必须由 VS 手动发布过程中的某些内容单独添加,而 Azure DevOps 发布步骤是正在做。仍然不确定解决此问题的正确方法是什么(或者甚至完全确定这些内容是否相关)。

有没有人知道我可能遗漏了什么?

因此,在弄清楚这里发生了什么之后,我打算删除它,但我认为其他人可能会犯同样的错误,这可能会有所帮助。基本上,我为 Azure 函数应用程序复制了另一个部署管道作为部署管道的基础,我只是做了一个 dotnet build 就足够了。然而,这种应用程序似乎需要 运行 dotnet publish.

才能获得有益健康的输出