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服务无法启动