Http错误503服务不可用

And*_*eas 374 asp.net iis http-error

我一般都很擅长设置Web服务器.我在Windows 8上安装了IIS 8,我正在尝试在本地设置一个小站点,同时进行一些开发.在IIS中,我选择添加站点,给出一个名称,指向我有一个index.html文件的位置(我尝试了不同的位置,最新的c:\ inetpub\wwwroot\test -folder),否则使用所有默认值设置.但是,当我尝试浏览localhost时,我得到了

http错误503服务不可用.

我已验证池已启动,并且我已在目标文件夹上提供IIS_IUSRS完全控制

我一直在搜索,但没有找到解决我问题的任何内容,而且在EventLog或C:\ Windows\System32\LogFiles\HTTPERR文件夹中没有任何帮助

谁能告诉我什么是错的?

liv*_*ove 424

可能是用户身份已过时,特别是如果您尝试启动已停止的应用程序池并且下一个请求再次失败.

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

您还可以尝试在"事件查看器"中的"Windows日志","应用程序","详细信息"选项卡下查看错误消息.

  • 当我更改用于W3C工作进程的标识的密码时,这正是我发生的事情.谢谢 (20认同)
  • 我只是更改了我的用户密码,第二天(重启后)由于密码错误而失败了.当我更改密码时,我需要一系列要更改的内容! (8认同)
  • 谢谢你节省了我晚上剩下的时间。 (3认同)
  • 我去了应用程序池,意识到我的网站已被停止.我重新启动它并且噗,好像新的一样好. (2认同)
  • 我遇到过同样的问题。任何时候发生这样的问题时,您应该首先查看事件查看器。要检查的第一个日志几乎总是:Windows 日志 -> 系统。错误消息类似于“应用程序池 Foo 已被禁用。Windows 进程激活服务 (WAS) 在启动工作进程为应用程序池提供服务时遇到故障。” 如果身份中的用户名或密码错误,则会在前面的警告日志中提及。 (2认同)

Jua*_*rto 96

就我而言,问题是DefaultAppPool.我将"加载用户配置文件"更改为false,现在它可以正常工作.但是,我不知道这是否有副作用. 在此输入图像描述

  • 这对我也有用,很想知道为什么! (9认同)
  • 一些答案"为什么?" 问题在这里:http://stackoverflow.com/questions/17149132/what-exactly-happens-when-i-set-loaduserprofile-of-iis-pool (4认同)
  • 我也有这个问题..看起来绝对是古怪的微软IIS有很多模糊的选项,没有任何迹象表明后效. (2认同)
  • @Luaan我完全同意,这个问题正在解决的问题在于我和我对IIS的理解(*或缺少*),但除非你擅长IIS工作的方法,否则这个术语有很多含糊不清的地方. .发现为什么它解决了我的问题是缓解.*每天都是一个上学日*. (2认同)

Sim*_*ier 91

其他答案都很好.但就我而言,我正在开发一个已运行旧IIS,IISExpress或任何其他网站的Windows机器.发生了什么是在系统中以某种方式保留的URL.所以,你可能想检查一下.

以下是转储所有URL acls的控制台命令:

netsh http show urlacl
Run Code Online (Sandbox Code Playgroud)

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

netsh http delete urlacl url=http://localhost:2018/
Run Code Online (Sandbox Code Playgroud)

(请注意,如果与原始问题无关,请注意您在此处执行的操作)

  • 这对我很有用!在我的情况下,我正在使用RavenDB并尝试使用控制台应用程序,然后再使用IIS应用程序.使用控制台应用程序后,IIS应用程序将无法正常工作!结果是因为URL被保留了.我刚刚删除了ACL,这一切都很好! (3认同)
  • 这对我有用!我之前运行过一些自托管服务,并做了一些工作将其绑定到 localhost:443。我还必须生成一个自我证书并将其绑定到 443。不知怎的,还有残留(即使在我删除了证书之后,使用以下命令删除了 SSL 证书:`netsh http delete sslcert ipport=127.0.0.1:443`。我还必须运行:`netsh http删除 urlacl url=https://+:443/` (3认同)

小智 44

检查应用程序的相应应用程序框架池 - 可以停止它.如果是,请启动它并再次检查.

如果您仍然遇到问题,还可以查看事件查看器以查找该错误的原因,以便进行更多故障排除.


Nei*_*ker 29

如果它可以帮助任何人,这可能是可笑的,但对我来说不明显,是应用程序池没有启动.我只是假设在启动网站或创建应用程序池时,它会启动.事实上,我甚至不知道你必须启动应用程序池...

  • 那是我的问题.这里不笑 (7认同)
  • 我用我的身份设置了应用程序池(Windows登录).今天早上电脑要求我更改密码.然后我运行iis,这种情况发生了.然后我检查应用程序池,并更改身份.插入新密码,一切都很好. (3认同)

Ham*_*han 25

应用程序池已停止

就我而言,应用程序池已停止.启动它修复了问题.

我的网站托管在Arvixe上.可能发生错误问题是因为我有基于会员的应用程序,当我上传文件时发生了一些不好的事情.


小智 22

如果App池在某个用户身份下运行,那么再次转到更新用户名密码的高级设置,它对我有效.


wei*_*eir 18

如果应用程序池在启动后立即停止,并且您的事件日志显示:

应用程序池"APP_POOL_NAME"的工作进程遇到错误"无法读取配置文件",尝试从文件'\?\'读取配置数据,行号为'0'.数据字段包含错误代码.

...您可能遇到了Windows 10 Fall Creators Update和/或.Net Framework v4.7.1中明显引入的错误.它可以通过以下解决方法步骤解决,这些步骤来自相关问题的答案无法读取配置文件'尝试从文件'\\?\ <EMPTY>'读取配置数据,行号'0'.

  1. 转到安装IIS的驱动器,例如. C:\inetpub\temp\appPools\
  2. 删除与应用程序池同名的目录(或虚拟目录).
  3. 再次回收/启动您的应用池.

我通过在dotnet GitHub repo上创建以下问题向Microsoft报告了此错误:安装4.7.1后,IIS AppPool停止并显示"无法读取配置文件".

编辑

Microsoft回答说,这是Fall Creators Update的Windows安装过程中的已知问题,并在KB 4050891中记录,Web应用程序在Windows 10版本1709(Fall Creators Update)上返回HTTP错误503和WAS事件5189.该文章提供了以下解决方法过程,类似于上面的过程.但请注意,它将回收所有应用程序池,无论它们是否受此问题的影响.

  1. 使用"以管理员身份运行"选项打开Windows PowerShell窗口.
  2. 运行以下命令:
    • Stop-Service -Force WAS
    • Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • Start-Service W3SVC


Rya*_*yer 12

我通过删除与IIS中的app目录匹配的URL保留来解决此问题.我有一个类似(绝对不一样)的问题,如本文所述:

503服务不可用的不常见根本原因


Sam*_*ack 10

首先查看事件查看器,在系统或应用程序日志下.

在我的情况下,问题是没有为App Pool启动工作进程,因为它的配置文件无法读取 - 我已经包含了一个额外的'.' 在它的名字的末尾.


小智 9

就我而言,我的默认应用程序池处于离线状态。

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

我的错误是“503 1 AppOffline DefaultPool”

解决方案

  • 打开 IIS 管理器
  • 单击“应用程序池”,这会在您的右侧列出所有应用程序池。
  • 检查托管您的 api 或站点的应用程序池上是否有停止标志。如果是这样,请右键单击应用程序池,然后单击启动。
  • 再次尝试从客户端访问您的服务


cos*_*set 7

在我的情况下,Pool使用自定义身份(帐户和密码).密码过期并重新加载后,错误已经出现.我只需更正身份中的密码

  • 这对我有帮助。选择Pool并点击Advanced Setting -&gt; Process Model -&gt; Identity -&gt; 点击用户名查看(...) 点击Set按钮并更新密码。 (2认同)

Dou*_*ull 7

对于Windows Server 2012 R2,我这样做:IIS> App..Pools(池)((带有黑色的“ stop”正方形)>右键单击它> start


Has*_*tar 6

您的域可能需要用于运行AppPool的帐户具有批量登录权限.在这种情况下,您将看到相同的错误消息.您可以通过查看事件查看器中的系统事件来判断是否是这种情况.应该有一个事件表明与App Pool一起使用的帐户有"密码错误或没有批量登录权限".

这就是开发人员经常在他们的开发机器上使用IIS Express的原因,因为它通过了批量登录权限问题.


atc*_*way 6

我遇到了同样的问题,但这是实际网站设置的问题IIS.

选择Advanced Settings...您的站点/应用程序,然后查看Enabled Protocols值.无论如何,我的网站的值为空白,并导致以下错误:

http错误503服务不可用.

修复是添加http和选择OK.该网站再次运作.


tno*_*007 6

就我而言,我创建了一个新的App Pool,只是忘了启动它.


Sus*_*Guy 5

检查事件查看器 - Windows - 应用程序.如果有一个由IIS-W3SVC-WP制作的红色错误行,并且该消息类似于模块DLL C:\ Windows\system32\inetsrv\rewrite.dll无法加载.数据是错误的.那么你缺少一些Windows安装程序功能.

在Windows Server 2012中,转到"服务器管理器","添加角色和功能","Web服务器(IIS)"并添加匹配功能.通常,大多数应用程序开发部分都已安装.以下是IIS功能及其相关DLL的完整列表,以帮助诊断.

经过几次迭代之后,我结束了上面关于"rewrite.dll"的错误消息.这导致直接下载并安装Microsoft URL Rewrite工具.最后所有网站都变得生动起来.

  • 我安装了URL Rewrite 2.0模块.但是,我发现我需要在"程序和功能"(Windows 10)中修复安装. (4认同)

Hal*_*nac 5

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

要对其进行修复,请删除它或将其重命名为app_offline.htm.bak

就我而言,我在向同事展示如何使用它来防止临时访问该网站的流量时添加了它,然后忘记了我在盒子上这样做了。叹。


Pat*_*.SE 5

我们的服务器在周日下午耗尽了磁盘空间,导致应用程序突然失败并返回 HTTP 错误 502。日志为空,因此它肯定是在 IIS 执行任何操作之前发生的事情。

快速查看事件查看器(WIN+R > eventvwr)就暴露了问题。 在此输入图像描述

过滤掉系统和应用程序窗口到 WAS 的输出是一个好主意,因为它可能会变得非常冗长。

该应用程序依赖于另一个被禁用的应用程序。因此请记住,如果应用程序的依赖进程之一已关闭,则应用程序可能会间接关闭。我们只需重新启用 .NET 应用程序池,我们的其他应用程序就再次开始正常运行。


Nab*_*eel 5

我遇到了同样的问题最长的时间,我认为我的代码有问题。原来,在 IIS 服务器中,我用于该特定项目的应用程序池已停止。我重新打开它并解决了问题。错误 503 很可能与应用程序池有关