【问题标题】:Server Error 403 Forbidden on Blazor server app published to Linux hosting发布到 Linux 托管的 Blazor 服务器应用程序上的服务器错误 403 被禁止
【发布时间】:2021-01-04 02:31:09
【问题描述】:

我想在 VS2019 C# 中部署使用 Blazor 应用源模板 3.1.11 创建的 Hello World Blazor 服务器应用

该应用是在 Windows 10 上的 VS2019 中创建的

docs 展示了如何创建 /bin/Release/{TARGET FRAMEWORK}/publish 文件夹

我将这里的文件复制到我的托管包中的域文件夹中,但不知道下一步。

web.config 用于 Windows 托管。 我需要为 Linux 做什么? 目前,如果我访问该站点,则会收到 403 错误。

我可以将应用程序发布到 Windows 托管站点。

[更新] 原来Linux服务器没有安装DotNet。

【问题讨论】:

  • Forbidden 表示禁止。请增加错误输出或检查为什么会出现禁止错误。您是否有错误的文件/文件夹权限或错误的用户/组/世界所有权?你在用红隼吗?您是否尝试过 net5.0(您需要更改现有模板。请参阅教程)? SSL 呢?这么多问题..您是否尝试过上面的链接?开发时通常不需要(Apache)。
  • @Teroneko 我在哪里做呢?我需要创建某种配置文件吗? Publish 似乎没有创建一个。

标签: c# deployment blazor-server-side


【解决方案1】:

默认情况下,dotnet publish 发布整个应用程序以在当前操作系统上运行。当这与您打算运行应用程序的位置不匹配时,您可以使用 -r|--runtime 指定要发布的运行时。

这样的东西应该可以工作:dotnet publish -r linux-x64

【讨论】:

  • 谢谢。但是我仍然得到 403
  • 服务器上是否安装了.NET?您可能想尝试将您的发布语句更新为dotnet publish -r linux-x64 --self-contained,以便运行时包含在部署中
  • 唉,我还有 403
  • 听起来您的虚拟主机正在尝试提供静态内容,而不是运行 .NET 应用程序。入口点是./BlazorApp1,如果你可以在某个地方配置的话。
  • SignalR 服务部分是可选的,只是扩展应用程序的一部分的另一种方式stackoverflow.com/questions/60659477/…
【解决方案2】:

403 错误可能存在于 IIS/Web 服务器配置中。查看配置文件或 IIS 设置。

【讨论】:

  • 配置文件的名称是什么?我无法通过 Plesk 访问 IIS 设置
猜你喜欢
  • 2023-01-19
  • 2014-06-03
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 2021-10-21
  • 2021-08-15
相关资源
最近更新 更多