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

Posted

技术标签:

【中文标题】HTTP 错误 503。当端口 80 已经空闲时服务不可用【英文标题】:HTTP Error 503. The service is unavailable when port 80 is already free 【发布时间】:2015-02-03 15:42:01 【问题描述】:

在您将其作为其他IIS HTTP Error 503 问题的副本提出之前,我已经尝试了 SO 和 Google 上的许多可用解决方案,但问题仍未解决。以下是我发现的最流行的解决方案:

IIS - HTTP Error 503. The service is unavailable

Solve HTTP Error 503. The service is unavailable in IIS

就我而言:

IIS 在端口 80 开放且可免费使用时无法工作。

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

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

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

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

现在的情况是,DefaultAppPool 状态显示started,直到我没有点击任何 URL。每当我为我的本地网站或本地主机请求任何 URL 时,浏览器都会返回 Service Unavailable 错误消息和 DefaultAppPool 状态更改为自动停止。

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

【问题讨论】:

基本上错误 503 意味着您的代码或 Web 服务器中的某些错误。我建议您尝试将您的网站应用程序池更改为 asp.net 4 应用程序池(列表中的第二个)。安装框架 4.5 后我遇到了确切的问题。将应用程序移动到 asp.net v4 后,它就解决了。 @Tomer Klein 我已经将应用程序池更改为 Asp.net 4 应用程序池,但仍然出现相同的错误,并且还创建了一个自定义应用程序池作为测试,但浏览器返回相同的错误。 顺便说一句,我访问我部署的网站或简单的本地主机以检查 IIS 是否正在运行。 那么事件日志显示了什么? 您是否尝试在应用程序/系统日志下的windiws事件查看器中查看? 【参考方案1】:

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

运行这个命令

netsh http show urlacl

它将列出所有保留的url,找到具有相关端口的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/

【讨论】:

也为我工作(使用 GPS 服务器的监听器)。【参考方案2】:

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

【讨论】:

以上是关于HTTP 错误 503。当端口 80 已经空闲时服务不可用的主要内容,如果未能解决你的问题,请参考以下文章

IIS 7sharepoint打不开 HTTP Error 503.DefaultAppPool和sharepoint服务无法启动

Varnish CentOS - 错误 503 后端获取失败

nginx http 502 503 504区别 · T

在端口 443 而不是 80 上加载站点

网页请求有多少种错误?

当 web 端口 80 已经在使用时,如何监听 heroku 上的任何端口?