当我启动应用程序池并请求该池中的应用程序中的页面时,我收到“HTTP 错误 503。服务不可用。”
如果我查看 IIS 中的应用程序池,我可以看到它现在已停止。转到事件查看器,我发现此错误消息:
'应用程序池Badge.Web标识无效。为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限。如果身份不正确,当应用程序池收到第一个请求时,应用程序池将被禁用。如果批量登录权限导致问题,则必须在授予权限后更改 IIS 配置存储中的标识,然后 Windows Process Activation Service (WAS) 才能重试登录。如果在处理第一个应用程序池请求后身份仍然无效,则应用程序池将被禁用。数据字段包含错误号。'
我非常确定我使用的凭据是正确的。其他原因导致应用程序池停止。
我今天遇到了类似的问题,使用 Windows 用户身份 X 的应用程序池在更改该用户的密码后停止工作。
显然,系统中存储了一些与旧凭据相关的信息,我通过以下方式解决了问题:
到目前为止,一切正常。
我发现一篇文章说
修复方法是确保服务/应用程序池帐户在服务器上具有“作为批处理作业登录”和“作为服务登录”用户权限。此权限可以在本地安全策略 > 计算机配置 > Windows 设置 > 本地策略 > 用户权限分配中找到。删除冲突的组策略并修复本地策略或添加组策略的权限。
虽然发生这种情况的原因可能有多种,但在本例中,503 错误的发生是因为应用程序池无法启动。这是因为最近更改了应用程序池尝试运行的身份的密码。修复方法是转到 IIS 管理器 -> 应用程序池 -> 高级设置 -> 进程模型 -> 身份并将密码设置为新密码。
在继续进行进一步故障排除之前,检查事件查看器日志(事件查看器(本地)-> Windows 日志-> 应用程序)也有助于查找具体的故障原因。
通过将 Application Pool Identity 更改为 NetworkService,然后转到
Advanced Settings > Process Model > Identity > NetworkService
选择所需的应用程序池,解决了我的问题。
我遇到了同样的问题,我的解决方案是:管理器 -> 应用程序池 -> “选择池” -> 高级设置 -> 流程模型 -> 身份 -> NetworkService