HTTP 错误 503。80 端口已经空闲时服务不可用

HTTP Error 503. The service is unavailable when port 80 is already free

在你去建议它作为其他 IIS HTTP Error 503 问题的副本之前,我已经在 SO 和 Google 上尝试了许多可用的解决方案,但问题没有解决。以下是我发现的最流行的解决方案:

Solve HTTP Error 503. The service is unavailable in IIS

以我为例:

IIS 在端口 80 打开并可以免费使用时无法正常工作。

据我所知,如果未为 IIS 中的网站启用(启动)应用程序池,则会导致错误。

我已经关闭了所有可能使用端口 80 的其他应用程序,例如 Skype、Google 磁盘等,并检查该端口是否正在使用。

然后我查看了 IIS 的应用程序池,发现 DefaultAppPool 状态 stopped

启动 DefaultAppPool 后,我重新检查了我的网络并得到了同样的错误。

现在的情况是,DefaultAppPool 状态显示 started,直到我没有命中任何 URL。每当我为我的本地网站或本地主机请求任何 URL 时,浏览器 returns 我 服务不可用 错误消息和 DefaultAppPool 状态更改为已停止自动。

我已经尝试了 iisreset 命令,但在重置后 IIS 问题仍然存在。

最有可能的身份是您 运行 您的应用程序池,即管理员密码错误或被禁用。尝试将此身份更改为网络服务或本地服务或任何其他有效身份。

503 错误的原因并不常见。要解决此问题,请按照以下简单步骤操作:

运行 这个命令

netsh http show urlacl

它将列出所有保留的urls,找到具有相关端口的url。

 Reserved URL            : http://+:80/
    User: NT SERVICE\Machine
        Listen: Yes
        Delegate: No
        SDDL: D:(A;;GX;;;S-1-5-21-2127521184-1604012920-1887927527-67210)

然后使用此命令删除条目(将 url 部分替换为您的部分):

netsh http delete urlacl http://+:80/

https://blogs.msdn.microsoft.com/webtopics/2010/02/17/a-not-so-common-root-cause-for-503-service-unavailable/