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

HTTP错误503。业务不可用。

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

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

有人能告诉我怎么了吗?


当前回答

或者,如果当前的解决方案都不起作用,请在您的网站目录中查找一个名为app_offline.htm的文件。这基本上告诉IIS您的站点不可用,并显示此页面。

要修复它,要么删除它,要么重命名为app_offline.htm.bak。

在我的例子中,我在向一位同事演示如何使用它来暂时阻止网站流量时添加了它,然后忘记了我在我的盒子上做了这个操作。叹息。

其他回答

我看到这个错误后,安装url重写模块,我尝试从安装以前的版本: https://www.microsoft.com/en-us/download/details.aspx?id=7435 它修正了我的错误

或者,如果当前的解决方案都不起作用,请在您的网站目录中查找一个名为app_offline.htm的文件。这基本上告诉IIS您的站点不可用,并显示此页面。

要修复它,要么删除它,要么重命名为app_offline.htm.bak。

在我的例子中,我在向一位同事演示如何使用它来暂时阻止网站流量时添加了它,然后忘记了我在我的盒子上做了这个操作。叹息。

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

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

在我们的例子中,没有记录任何内容(除了503的HTTP错误日志条目),但是IIS中web应用程序的Enabled Protocols值有一个拼写错误!不是http,而是https在协议之间有一个句号:http。https

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

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

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