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

标签 azure azure-web-app-service blazor blazor-server-side .net-5

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

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

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

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

有人知道我可能会错过什么吗?

最佳答案

因此,在弄清楚这里发生了什么之后,我打算删除此内容,但我认为其他人可能会犯与我相同的错误,这可能会有所帮助。基本上,我复制了 Azure 函数应用程序的另一个部署管道作为部署管道的基础,并且我刚刚做了一个 dotnet build 就足够了。然而,这种应用程序似乎要获得健康的输出,您需要运行 dotnetpublish

关于azure - Azure 应用服务中的 .NET5 Blazor 服务器应用返回 "You do not have permission to view this directory or page",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66622981/

相关文章:

asp.net - Azure 与 owin 和 web.config 中的授权

c# - 如何获取Azure应用服务资源中的文件路径?

azure - 如何在 VSTS 中每次部署之前清理目标 Azure 网站 Windows Server 上的 wwwroot 文件夹

.net-core - 在 Blazor 中,是否有更好的方法从列表中添加元素?

javascript - 将 JSInterop 的 ExampleJsInterop JavaScript 代码转换为 TypeScript

azure - 无法删除 SQL Azure 数据库 - 附近的语法不正确

azure - 限制对存储帐户的访问时,无法在资源实例中选择 Azure 函数应用

radio-button - 如何在单选按钮 Blazor 子组件上进行双向绑定(bind)

c# - 无法将可靠的 azure publish 设置证书导入到 Windows Phone 8.1 应用程序中

git - Azure 'Set up deployment from source control' 通过 Powershell