首页 文章

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

提问于
浏览
0

使用我的.NET Core 2.1 App部署到我的服务器后,访问该页面时出现以下错误:

HTTP错误502.5 - 进程失败

继微软在同一页面上总是有用的链接(咳嗽)之后,我检查了事件视图日志并指出:

具有物理根'D:\ inetpub \ vhosts \ BLAH.com \ httpdocs '的应用'MACHINE / WEBROOT / APPHOST / BLAH.COM'无法使用命令行'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 endpoints 地址处正常响应,则问题更可能与反向代理配置有关,而在应用程序中则更不可能 .

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

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

1 回答

  • 1

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

相关问题