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

HTTP错误503。业务不可用。

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

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

有人能告诉我怎么了吗?


当前回答

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

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

我的错误是“503 1 AppOffline DefaultPool”

解决方案

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

其他回答

其他答案都可以。但就我而言,我使用的是一个Windows机器,它已经在运行一些旧的IIS、IISExpress或其他网站。发生的事情是url acl在系统中以某种方式保留。你可能想检查一下这个。

下面是转储所有URL acl的console命令:

netsh http show urlacl

检查这里返回的内容,如果有任何内容与您正在测试的url匹配,下面是删除一个url acl的命令(例如):

netsh http delete urlacl url=http://localhost:2018/

(小心注意你在这里所做的事情,以防它与原始问题无关)

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

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

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

实际上,在我的情况下,https://localhost是工作的,但http://localhost给出了一个HTTP 503内部服务器错误。在IIS中更改默认网站的绑定,以使用主机名localhost而不是空主机名。

Tname用于HTTP绑定

[2021年7月-更新] 我已经尝试了上面所有这些答案,但它不工作,然后我在程序和功能中重新安装IIS,它工作了。

我知道所有设置都没了,但还能用。(请阅读原文)

按Windows + X 选择“应用程序和功能” 选择“程序和功能” 选择“打开或关闭Windows功能” 取消选中“Internet信息服务”复选框 重启PC 重新安装(再次选中“Internet信息服务”复选框) 然后测试新的!

或者你可以:通过运行,输入“appwiz”打开“程序和功能”。cpl”,按“Enter”。

当我在开发机器上清理我的IIS时,我遇到了这个问题,我不知何故为我实际开发web的子文件夹创建了一个虚拟文件夹,我无法清除,并产生冲突。

我必须用

C:\Windows\System32\inetsrv\appcmd.exe list vdir

然后逐个删除问题虚拟目录使用

C:\Windows\System32\inetsrv\appcmd.exe delete app /app.name:"Default Web Site"/{name of virtual directory}