IIS 应用程序池已启动,但 API 没有响应

Posted

技术标签:

【中文标题】IIS 应用程序池已启动,但 API 没有响应【英文标题】:IIS application pool started but API not responding 【发布时间】:2020-10-15 17:47:31 【问题描述】:

我有两台服务器运行 API,但其中一台服务器的 API 不再响应。这发生在我的同事在同一个应用程序池下添加 另一个 API 之后......从那时起 API 停止响应并且我收到 503 Service Unavailable 错误,但仅在一台服务器上。另一台服务器运行 API 没有问题。

这是我尝试过的:

我先把同事添加的API从应用池中移除了,重启了池,还是不行 回收应用程序池。 正在重新启动服务器。 将快速故障保护设置更改为 false。 将身份从 ApplicationPoolIdentity(它一直使用)更改为 LocalService、LocalSystem、NetworkService,然后再改回 ApplicationPoolIdentity。 创建一个新的应用程序池并将 API 移至该应用程序池。停止/启动/回收在这里也不起作用。

应用程序池在我启动时继续运行,并且在事件查看器中没有看到任何错误。两台服务器上的代码相同。我尝试使用 telnet 连接到服务器,并且可以正常工作,因此没有网络问题。 我仍然可以通过 localhost 访问 API,但是通过网站连接时出现 503 错误。

还有什么我可以尝试的吗?

【问题讨论】:

【参考方案1】:

根据您的描述,可能是用户身份已过期。特别是,当下一个请求到达时,应用程序池将停止。尝试为应用程序池标识分配一个新的user/password。 此外,还有其他一些原因导致此问题,请查看此讨论以获取更多详细信息。HTTP Error 503, the service is unavailablehttps://bobcares.com/blog/iis-http-error-503-the-service-is-unavailable/

【讨论】:

以上是关于IIS 应用程序池已启动,但 API 没有响应的主要内容,如果未能解决你的问题,请参考以下文章

IIS 垃圾收集与许多应用程序域一起挂起

IIS应用程序池服务停止,如何解决?

从 iis (C# API) 访问 azure 文件共享

Qt 应用程序启动但没有响应

让 .NET 5 Web API 在 IIS 中一直运行

iis无法启动