IIS 7.0出现503错误并停止应用程序池。

16
当我启动应用程序池并请求该池中某个应用程序的页面时,我会收到“HTTP错误503.服务不可用”的错误。
如果我查看IIS中的应用程序池,我会发现它已经停止了。在事件查看器中,我发现以下错误消息:
“应用程序池Badge.Web的身份验证无效。为该身份验证指定的用户名或密码可能不正确,或者用户可能没有批量登录权限。如果未更正身份验证,则在应用程序池接收到其第一个请求时,将禁用应用程序池。如果批量登录权限导致问题,则必须在授予权限后更改IIS配置存储中的身份验证才能使Windows进程激活服务(WAS)重试登录。如果在处理应用程序池的第一个请求后身份验证仍然无效,则将禁用应用程序池。数据字段包含错误号码。”
我非常确定我使用的凭据是正确的。还有其他原因导致应用程序池停止。

你能在另一台机器上复制这个吗? - rob
#Ram:你找到问题的答案了吗?如果是,请在这里分享一下,因为我也遇到了同样的问题,而且我提供给应用程序池用户的凭据是正确的。 - vinay
1
您可能会发现这个问题有帮助:https://dev59.com/3HRA5IYBdhLWcg3wsgBP - epotter
5个回答

20
今天我遇到了一个类似的问题,当一个使用Windows用户身份X的应用程序池在该用户密码更改后停止工作。
显然,一些与旧凭据相关的信息被存储在系统中,我通过以下方式解决了这个问题:
  • 将应用程序池身份切换为NetworkService
  • 再次使用新密码将其切换回X
目前一切正常运行。

谢谢!你结束了48小时的纯痛苦。 - Peter Alfvin
这对我也起作用了。此外,我还必须调整站点身份验证设置,以便将服务名称传递给外部服务,而不是发送匿名身份验证。具体来说,我必须启用匿名身份验证并禁用Windows身份验证,然后将它们交换回禁用匿名启用Windows才能正常工作。 - Bill Stidham

9

我无法更改策略,因为基础设施组控制着它。然而,我注意到管理员组拥有这些权限。通过将我的应用程序池自定义帐户添加到管理员组中,我立即解决了问题。 - Tom McDonald
1
使用管理员组而不是修复组策略会破坏IT部门想要实现的安全性好处。 - Oskar Berggren

4
虽然造成这种情况可能有几个原因,但在这个具体的案例中,503错误是由于应用程序池未能启动所致。这是因为应用程序池正在尝试运行的标识的密码最近已更改。修复方法是进入IIS管理器->应用程序池->高级设置->进程模型->身份验证并将密码设置为新密码。
在继续进行任何进一步的故障排除之前,检查事件查看器日志(事件查看器(本地)->Windows日志->应用程序),以查找失败的具体原因也会有帮助。

谢谢 - 在这上面浪费了好几个小时。 - IrishChieftain

-1

我的问题通过将应用程序池身份更改为NetworkService来解决,选择所需的应用程序池后前往高级设置 > 进程模型 > 身份验证 > NetworkService


2
这不是解决方案!如果您正在使用共享文件夹,则无法工作。 - Emanuele

-2

我遇到了同样的问题,我的解决方案是:管理器 -> 应用程序池 -> "选择池" -> 高级设置 -> 进程模型 -> 标识 -> NetworkService


1
这不是解决方案!如果你正在使用共享文件夹,它无法工作。 - Emanuele

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接