ASP.NET Core 2.1给我HTTP错误502.5-进程失败

时间:2018-08-21 01:03:34

标签: iis .net-core kestrel

在将.NET Core 2.1应用程序部署到服务器后,访问页面时出现以下错误:

  

HTTP错误502.5-进程失败

按照Microsoft在同一页面上始终有用的链接(咳嗽),我检查了事件视图日志,并指出:

  

具有物理根的应用程序“ MACHINE / WEBROOT / APPHOST / BLAH.COM”   'D:\ inetpub \ vhosts \ BLAH.com \ httpdocs \'无法启动进程   命令行'dotnet。\ blah.dll',ErrorCode ='0x80070002:0。

该消息不仅无益,而且完全无关。我试图在web.config中启用Web应用程序的登录:

<aspNetCore requestTimeout="23:00:00" processPath="dotnet" arguments=".\blah.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" startupTimeLimit="3600" />

奇怪的是,直到我授予IWPD进程权限,才在Log目录中未创建任何文件。它创建的文件不在指定的stdout目录中,而是在父日志目录中。他们也是空的。

我使用以下命令从命令行运行了Web应用程序:

dotnet。\ blah.dll

该应用程序似乎正在运行,并且我可以在屏幕上看到一些消息,但是在访问该站点时仍然遇到相同的502.2错误,日志中没有其他信息。我按照ASP.NET Core 2.1的故障排除步骤进行操作,它提到了这一点:

  

如果向应用程序发出请求时发生错误,请发出请求   到Kestrel监听的主机和端口。使用默认主机和   发布后,向http://localhost:5000/发送请求。如果应用程序响应   通常在Kestrel端点地址,则更可能出现问题   与反向代理配置有关,并且不太可能   应用程序。

我从命令行运行了Web应用程序,并尝试使用http://localhost:5000访问它。我终于能够访问该站点,但是我仍然通过IIS遇到相同的502.2错误。

很明显,IIS和Kestrel没有相互通信。我不明白为什么有两个Web服务器,以及如何使它们相互通信。

1 个答案:

答案 0 :(得分:2)

解决了问题。服务器的IIS模块的安装程序不会重新启动或警告用户重新启动IIS。重新启动IIS加载了必要的模块。显然,这是任何其他名称的错误。