一般来说,我对设置web服务器真的很陌生。我已经在Windows 8上安装了iis8,我正在尝试在本地建立一个小网站,同时进行一些开发。在IIS中,我选择添加站点,给出一个名称,指向我有index.html文件的位置(我尝试过不同的位置,最新的位置在c:\inetpub\wwwroot\test -文件夹中),否则使用所有默认设置。但是,当我尝试浏览到localhost时,我得到

HTTP错误503。业务不可用。

我已经验证了池已经启动,并且在目标文件夹上赋予了IIS_IUSRS完全控制

我到处搜索,但没有找到任何解决我的问题的东西,在EventLog或C:\Windows\System32\LogFiles\HTTPERR文件夹中没有任何有用的东西

有人能告诉我怎么了吗?


当前回答

这可能是用户身份过时,特别是如果你尝试启动一个停止的应用程序池,而下一次请求再次失败。

在IIS中,进入服务器下的应用程序池,然后为您的网站找到正确的应用程序池,并单击它。在右侧的“高级设置”菜单中选择“身份”并修改,输入新用户和密码。再次单击应用程序池,并选择Recycle重新启动它。

您也可以尝试在“事件查看器”的“Windows日志、应用程序、详细信息”选项卡下查看错误消息。

其他回答

您的域可能要求用于运行appool的帐户具有批量登录权限。在这种情况下,您将看到相同的错误消息。您可以通过查看事件查看器中的系统事件来判断是否存在这种情况。应该有一个事件,说明应用程序池使用的帐户有“错误的密码或没有批量登录权限”。

这就是为什么开发人员经常在他们的开发机器上使用IIS Express,因为它传递了批量登录权限问题。

对于我的案例,我的默认应用程序池处于脱机状态。

为了解决此问题,我检查了位于C:\Windows\System32\LogFile\HTTPERR.的IIS日志向下滚动到最新的错误日志,这将显示IIS的问题。

我的错误是“503 1 AppOffline DefaultPool”

解决方案

打开IIS管理器 单击应用程序池,这将列出您右边的所有应用程序池。 检查托管api或站点的应用程序池上是否有停止标志。如果是,右键单击应用程序池并单击start。 再次尝试从客户端访问您的服务

我也遇到了同样的问题,但这是IIS中实际站点设置的问题。

选择高级设置…为您的站点/应用程序,然后查看Enabled Protocols值。无论出于什么原因,我的站点的值是空白的,并导致以下错误:

HTTP错误503。业务不可用。

修复方法是添加http并选择OK。随后,网站又恢复了正常运行。

在我的例子中,问题是DefaultAppPool。我把“加载用户配置文件”改为false,现在它可以工作了。然而,我不知道这是否有副作用。

关于设置LoadUserProfile选项的进一步阅读:当我设置IIS池的LoadUserProfile时,到底发生了什么?

如果最近安装或更新了。net框架和/或ASP.NET,也会发生这种情况。如果你不确定最近发生了什么,如果你所有的应用都使用ASP。NET版本4,您可以在管理员模式下在命令提示符中运行以下命令来尝试重置它们。

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_regiis -i

这确保安装或重新安装ASP。asp.net 4和更新现有的应用程序使用ASP。NET 4版本的应用程序池。它更新IIS元数据库中的IIS经典模式和集成模式处理程序以及脚本映射。它还重新创建了ASP。asp.net v4.0和ASP。NET v4.0经典应用程序池,并将.NET framework 4设置为DefaultAppPool和经典。NET应用程序池。