我在 IIS 6.0 中有一个网站,使用带有自定义服务帐户的应用程序池。当我浏览网站时,我收到错误“服务不可用”,并且事件日志中的错误显示
The identity of application pool 'SampleAppPool' is invalid, so the World Wide Web Publishing Service can not create a worker process to serve the application pool. Therefore, the application pool has been disabled.
我认为实用程序“Aspnet_regiis”可用于根据 this article 授予对 IIS 元数据库帐户的访问权限,但这是解决此问题的正确方法吗?因为此实用程序用于多种用途,并且可能不仅仅是授予帐户权限,或者我应该手动将帐户添加到
IIS_WPG
团体?
最佳答案
当我在 IIS 6 中看到这一点并且用户具有自定义应用程序池标识时,问题通常源于应用程序池属性中的凭据条目。所以这个问题通常有两个起源。
一个是凭据中的一个简单的错字,不幸的是 IIS 6 中的表单验证不是很好,所以我经常会让用户更改应用程序池的身份,然后立即检查凭据是否“被占用”和/或检查系统W3SVC 和相关错误的事件日志。
我在这种情况下看到的第二个具体原因是,当人们输入 Active Directory 用户时,他们有时会忘记添加域名。 (例如域\用户名)。这让我想到下一点,IIS_WPG 是内置的本地组,它授予成员所需的 ACL 作为应用程序池标识运行。 aspnet_regiis.exe -ga
向用户授予相同的功能,但 IMO 最适合在 IIS_WPG 组不是一个选项时使用。此外,专用的应用程序池用户帐户通常是一个好主意。如果 AD 用户密码发生更改,您将使您的应用程序瘫痪,直到您再次在 IIS 管理器中重新输入凭据。
编辑:我添加了一些断句以使这个块更具可读性。
关于asp.net - 浏览IIS网站时出现 "Service Unavailable"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4830533/