ASP.NET Core应用仅以root用户身份运行

时间:2018-07-31 05:17:54

标签: c# asp.net-core

我刚刚将我的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,从那以后一直保持沉默。

我有另一个在更新后的代码库上运行的站点实例,并且可以作为站点用户正常运行。此实例在更新前运行良好。发生了什么事?

1 个答案:

答案 0 :(得分:2)

我发现这是由于某些本地SSL证书上的权限问题所致。我感觉是.NET SDK更新在我的系统上安装了会弄乱权限的新程序包,还是新的ASP.NET Core NuGet程序包之一更改了Core中处理SSL的方式。

我在这里找到了解决方法:https://github.com/dotnet/cli/issues/9391