【发布时间】:2018-07-31 05:17:53
【问题描述】:
我刚刚将我的 ASP.NET 核心应用程序上的所有 Microsoft 软件包更新到最新的 2.1 版本(以及在我的 CentOS 服务器上将 SDK 更新到 2.1.4)并将代码推送到服务器。我在服务器端重建了代码并将其部署到 Web 根目录。我现在无法让服务器响应,除非它以 root 身份运行。尝试通过 Apache 代理连接时,我得到一个 502 Proxy Error,当我尝试直接连接到 Kestrel 服务器正在侦听的 SSL 端口时,我在 Chrome 中得到 ERR_CONNECTION_CLOSED。
如果我以 root 用户 (dotnet WebsiteMainDll.dll) 身份手动运行该站点,它可以正常工作。如果我以它应该以 (sudo -u siteuser dotnet WebsiteMainDll.dll) 身份运行的用户身份手动运行它,它就不起作用。
控制台中没有显示错误。它只显示Now listening on https://0.0.0.0:44313 并从那时起保持沉默。
我在预先更新的代码库上运行了另一个站点实例,它作为站点用户运行良好。此实例在更新前运行良好。怎么回事?
【问题讨论】:
-
或许可以尝试设置
dotnet的verbosity option,看看能否获得更多信息。 -
我在尝试运行时收到
unknown option --verbosity。我试过dotnet --verbosity diag WebsiteMainDll.dll和dotnet --verbosity=diag WebsiteMainDll.dll。我在帮助输出中看到了该选项,但它不会接受。 -
dotnet -d run WebsiteMainDll.dll呢? -
在我尝试运行
.csproj而不是.dll并发现NuGet 由于SSL 错误而无法恢复包后,我实际上发现了这个问题:github.com/dotnet/cli/issues/9391
标签: c# asp.net-core