应用程序池标识损坏

应用程序池标识损坏

在将软件部署到 IIS 中时,我曾多次观察到相关的应用程序池时不时地无法重新启动,并且在事件日志中我们会看到如下错误:

应用程序池标识“AppPoolName”无效。如果在处理应用程序池的第一个请求时它仍然无效,则应用程序池将被禁用。

这种情况并不常见,但一旦发生,唯一的解决办法就是在 IIS 管理器窗口中重新应用身份密码。只要我重新应用并重新启动应用程序池,网站就会恢复。

事实:

  • 该账户是密码永不过期的服务账户。
  • 该帐户是 IIS 主机的本地帐户。
  • 账户密码永不改变。
  • 这是在 Windows Server 2003 上运行的 IIS 6
  • 该软件的部署是通过 MSI 进行的,并涉及几次 IIS 重置。
  • 该软件是在内部创建的,不会对 IIS 做任何花哨的事情。

您对身份信息可能如何被破坏有任何想法吗?

编辑:澄清

要清楚的是 - 此用户帐户和密码组合绝对没问题,通常可作为应用程序池的身份。只有当我们将软件更新部署到现有 IIS 应用程序中时,它才会停止工作。

  • 我们的密码没有改变
  • 我们的部署不会更改密码或重新配置应用程序池。
  • 这种情况并不是每次都会发生,也许有1/20次。
  • 如果我们在 IIS 中重新输入密码并重新启动应用程序池,一切就都正常了。

答案1

如果必须运行 IISReset,请始终运行 IISRESET /NOFORCE。

如果您没有运行 /NOFORCE,则元数据库损坏的可能性会大大增加,我猜想这可能会以上述方式表现出来。

答案2

这个答案可能会有所帮助,因为它似乎解决了您遇到的问题 - 还要确保服务帐户是 IIS_WPG 组的成员。

https://stackoverflow.com/questions/863537/asp-net-error-the-identity-of-application-pool-is-invalid

相关内容