Http错误503服务不可用

oenim 发布于 2019-02-11 asp.net 最后更新 2019-02-11 10:33 243 浏览

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

HTTP Error 503. The service is unavailable.
我已验证池已启动,并且已对目标文件夹提供了IIS_IUSRS完全控制 我搜索了四周,但没有找到任何解决了我的问题的东西,并且在EventLog或C:\ Windows \ System32 \ LogFiles \ HTTPERR文件夹中没有任何帮助 谁能告诉我什么是错的?
已邀请:

yvitae

赞同来自:

我们的服务器在周日下午耗尽了磁盘空间,导致应用程序突然失败并返回HTTP错误502.日志是空的,所以它必须是在IIS甚至做任何事之前发生的事情。 快速浏览一下事件查看器(WIN+R > eventvwr)就暴露了这个问题。 enter image description here 将系统和应用程序窗口的输出过滤到WAS是一个好主意,因为它可以在那里变得非常冗长。 该应用程序依赖于另一个被禁用的应用程序。因此,请记住,如果其中一个依赖进程已经关闭,应用程序可以间接关闭。我们只是重新启用了.NET应用程序池,我们的其他应用程序又开始正常运行。

ab_non

赞同来自:

在我们的Intranet上的服务器上发生了这种情况。在浏览博客帖子和Windows日志之后,结果发现2015年圣诞节前几天(与Windows Update有关?)我的网站应用程序池想要在文件夹c:\ inetpub \ temp \ appPools中创建配置文件,但是对此文件夹的访问受到限制。这导致应用程序池被禁用。 在此临时文件夹上向Everyone添加完全控制后,我重新启动了Windows进程激活服务,所有内容再次联机。 如果我更优雅一点,它可能足以让AppPool用户完全控制该文件夹,但我似乎永远不会记得应用程序池名称和应用程序池用户如何相互关联......

iaut

赞同来自:

在我们的例子中,没有记录任何内容(除了503的HTTP错误日志条目),但IIS中的Web应用程序的Enabled Protocols值有一个拼写错误!而不是http,https在协议之间有一段时间:http.https

aet

赞同来自:

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

vsit

赞同来自:

可能是用户身份已过时,特别是如果您尝试启动已停止的应用程序池并且下一个请求再次失败。 在IIS中,转到“服务器”下的“应用程序池”,然后为您的网站找到正确的应用程序池,并单击它。在右侧的“高级设置”菜单中,选择“身份”并进行更改并输入新用户和密码。再次单击您的应用程序池,然后选择Recycle以重新启动它。 您还可以尝试在“事件查看器”中的“Windows日志”,“应用程序”,“详细信息”选项卡下查看错误消息。


编辑:jcolebrand 2017-05-04 我有这个错误,因为我正在做一些PowerShell脚本,所以我有C:\\path而不是C:\path。 Yay错别字!说这话,总是仔细检查你的键入值。

znon

赞同来自:

我使用Kentico作为卫星CMS的.Net MVC应用程序出现此错误。问题是它需要适用于我的应用程序所在URL的许可证。它基本上停止了应用程序并导致IIS只返回此503 - 服务不可用的消息。我最终在Kentico的事件日志中找到了错误详细信息(作为警告)。您可以在Kentico的客户端门户 - https://client.kentico.com/中创建新许可证或查找许可证详细信息。

malias

赞同来自:

我安装Skype时遇到此错误。因为我的网站使用端口80,Skype也使用相同的端口。 请参阅this

qporro

赞同来自:

检查应用程序的相应应用程序框架池 - 可以停止它。如果是,请启动它并再次检查。 如果您仍遇到问题,还可以查看事件查看器以查找该错误的原因,以便进行更多故障排除。

wquod

赞同来自:

我通过删除与IIS中的app目录匹配的URL保留来解决此问题。我有一个类似(绝对不一样)的问题,如本文所述: A Not So Common Root Cause for 503 Service Unavailable

dodit

赞同来自:

将Windows 7升级到Windows 10后,IIS Express 10.0也是如此。 解决方案:转到IIS并启用所有已禁用的网站并重新安装ASP.NET Core。

xqui

赞同来自:

还要检查地址栏并确保页面位于正确的位置。 可以返回此错误而不是404(找不到页面)。就我而言,页面上的链接不好,没有包含子文件夹。

kex

赞同来自:

如果您安装了IIS URL重写,则可能与此有关。 Windows 10更新后我遇到了问题。 This StackOverflow post helped me. 转到Windows Control Panel> Programs and Features> IIS URL Rewrite Module 2> Repair

znon

赞同来自:

就我而言,与域关联的应用程序池与与各个站点/应用程序关联的应用程序池不匹配。我不确定这是怎么发生的,但一旦域应用程序池得到纠正,问题就解决了。

wfuga

赞同来自:

检查事件查看器 - Windows - 应用程序。如果有一个由IIS-W3SVC-WP制作的红色错误行,并且该消息类似于模块DLL C:\ Windows \ system32 \ inetsrv \ rewrite.dll无法加载。数据是错误的。那么你缺少一些Windows安装程序功能。 在Windows Server 2012中,转到“服务器管理器”,“添加角色和功能”,“Web服务器(IIS)”并添加匹配功能。通常,大多数应用程序开发部分都已安装。以下是IIS features and their associated DLL的完整列表,以帮助诊断。 经过几次迭代之后,我结束了上面关于“rewrite.dll”的错误消息。这导致了direct download and install of Microsoft URL Rewrite tool。最后所有网站都变得生动起来。

reum

赞同来自:

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

The worker process for application pool 'APP_POOL_NAME' encountered an error 'Cannot read configuration file ' trying to read configuration data from file '\?\', line number '0'. The data field contains the error code.
...您可能遇到了Windows 10 Fall Creators Update和/或.Net Framework v4.7.1中明显引入的错误。它可以通过以下解决方法步骤解决,这些步骤从this answer到相关问题Cannot read configuration file ' trying to read configuration data from file '\\?\<EMPTY>', line number '0'
  1. Go to the drive your IIS is installed on, eg. C:\inetpub\temp\appPools\
  2. Delete the directory (or virtual directory) with the same name as your app pool.
  3. Recycle/Start your app pool again.
我通过在dotnet GitHub repo上创建以下问题向Microsoft报告了此错误:After installing 4.7.1, IIS AppPool stops with "Cannot read configuration file"。 编辑 Microsoft回答说这是Fall Creators Update的Windows安装过程中的一个已知问题,并记录在KB 4050891, Web applications return HTTP Error 503 and WAS event 5189 on Windows 10 Version 1709 (Fall Creators Update)中。该文章提供了以下解决方法过程,类似于上面的过程。但请注意,它将回收所有应用程序池,无论它们是否受此问题影响。
  1. Open a Windows PowerShell window by using the Run as administrator option.
  2. Run the following commands:
    • Stop-Service -Force WAS
    • Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • Start-Service W3SVC

icum

赞同来自:

我今天遇到了同样的错误。问题是我最近更改了域密码,因此我必须在每个应用程序池中更新它,在高级设置>流程模型>身份凭证中。

ut_quo

赞同来自:

我按照上面的Solve HTTP Error 503链接。在我的情况下,每当我右键单击我的svc文件并选择“浏览”时,我的应用程序池就会停止。 我按照以下步骤解决了应用程序池停止的问题 我使用的是Windows Server 2008 R2。 在我的IIS管理器应用程序池中,我右键单击了我感兴趣的应用程序池,然后单击“高级设置”。这将打开“高级设置”弹出窗口。 在Process Model部分下单击Identity,然后单击Application Pool Identity弹出窗口中的Set按钮。这将打开设置凭据弹出窗口,其中我提供了用户名,密码和确认密码,然后单击确定。 现在,当我右键单击我的svc文件时,它会在IE浏览器中打开。

kalias

赞同来自:

如果App池在某个用户标识下运行,请再次转到更新用户名密码的高级设置, 它对我有用。

baut

赞同来自:

我遇到了同样的问题,发现它是由在C:\ Users中创建用户配置文件的权限问题引起的。我将ApplicationPoolIdentity的完全权限授予C:\ Users文件夹,启动了网站,一切正常,配置文件必须已正确创建,并且我的网站正常工作。然后,我从ApplicationPoolIdentity中删除了对C:\ Users的访问权限。 Site wont start on local using ApplicationPoolIdentity, only when using NetworkService: "HTTP Error 503. The service is unavailable."

liste

赞同来自:

我遇到了同样的问题,但这是IIS中实际站点设置的问题。 为您的站点/应用程序选择Advanced Settings...,然后查看Enabled Protocols值。无论如何,我的网站的值为空白,并导致以下错误:

HTTP Error 503. The service is unavailable.
修复是在http中添加并选择OK。该网站再次运作。

tsint

赞同来自:

如果您有McAfee HIPS,并且在事件查看器应用程序日志中看到以下错误:

The Module DLL C:\Windows\System32\inetsrv\HipIISEngineStub.dll failed to load.
The data is the error.
然后,此workaround on McAfee.com解决了我的问题。 从页面引用:
  1. Click Start, Run, type explorer and click OK.
  2. Navigate to: %windir%\system32\inetsrv\config
  3. Open the file applicationHost.config as Administrator for editing in Notepad.
  4. Edit the <globalModules> section and remove the following line:
    <add name="MfeEngine" image="%windir%\System32\inetsrv\HipIISEngineStub.dll" />
  5. Edit the <modules> section and remove the following line:
    <add name="MfeEngine" />
  6. After you have finished editing the applicationHost.config file, save the file, then restart the IIS server using iisreset or by restarting the system.

ket

赞同来自:

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

frem

赞同来自:

您的域可能需要用于运行AppPool的帐户具有批量登录权限。在这种情况下,您将看到相同的错误消息。您可以通过查看事件查看器中的系统事件来判断是否是这种情况。应该有一个事件表明与App Pool一起使用的帐户有“密码错误或没有批量登录权限”。 这就是开发人员经常在他们的开发机器上使用IIS Express的原因,因为它通过了批量登录权限问题。

eea

赞同来自:

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

netsh http show urlacl
检查这里返回的是什么,如果有什么东西与你正在测试的url相匹配,这里是删除一个URL acl的命令(例如):
netsh http delete urlacl url=http://localhost:2018/
(请注意,如果与原始问题无关,请注意您在此处执行的操作)

ieos

赞同来自:

Application Pool Stopped 就我而言,应用程序池已停止。启动它修复了问题。 我的网站托管在Arvixe上。可能发生错误问题是因为我有基于会员的应用程序,当我上传文件时发生了一些不好的事情。

onon

赞同来自:

首先查看事件查看器,在系统或应用程序日志下。 在我的情况下,问题是没有为应用程序池启动工作进程,因为它的配置文件无法读取 - 我已经包含了一个额外的'。'在它的名字的末尾。

xipsam

赞同来自:

经过一些尝试和错误,我发现,应用程序池配置为使用我的域帐户作为身份,我记得我之前更改了我的域帐户的密码。重置应用程序池的标识(使用我的新密码)修复了问题,可以重新启动应用程序池而不会出现任何问题。

hrerum

赞同来自:

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

aut_id

赞同来自:

或者,如果当前解决方案都不起作用,请在您网站的目录中查找名为app_offline.htm的文件。这基本上告诉IIS您的网站不可用并显示此页面。 要解决此问题,请将其删除或重命名为app_offline.htm.bak。 在我的情况下,我添加了它,同时向同事展示如何使用它来暂时阻止流量到网站,然后忘记我在我的盒子上做了。叹。

eomnis

赞同来自:

在我的情况下,问题是另一个应用程序正在使用我绑定到我的网站的端口。 我通过从命令行运行以下命令找到它,该命令行列出了所有侦听端口和涉及的可执行文件:

netstat -b

lenim

赞同来自:

对我来说,DefaultAppPool无法启动,事件日志告诉我C:\Windows\System32\inetsrv\redirect.dll无法加载。 该文件丢失了。原因是没有安装Windows功能“HTTP重定向”。检查该功能是否为Internet Information Services\World Wide Web Services\Common HTTP Features\HTTP Redirection下的故障单。如果您刚刚安装它,则不需要重新启动。

eenim

赞同来自:

在IIS中,转到“服务器”下的“应用程序池”,然后为您的网站找到正确的应用程序池,并单击它。在右侧的“高级设置”菜单上的“常规”下,使“启用32位应用程序”= true。 这对我有用!

isit

赞同来自:

我有同样的问题,因为服务器机器上的内存不足。
实际上有1/16 GB的内存可用,但在卸载几个未使用的应用程序(它们不拥有端口80)后,IIS自动开始正常工作。

ab_non

赞同来自:

如果.NET框架和/或ASP.NET发生任何最近的安装或更新,也可能发生这种情况。如果您不确定最近发生了什么,并且所有应用程序都使用ASP.NET版本4,您可以尝试通过在管理员模式下在命令提示符中运行以下命令来重置它们。

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_regiis -i
这确保安装或重新安装ASP.NET 4并更新现有应用程序以使用应用程序池的ASP.NET 4版本。它更新IIS元数据库中的IIS Classic和集成模式处理程序以及脚本映射。它还重新创建ASP.NET v4.0和ASP.NET v4.0 Classic应用程序池,并将.NET framework 4设置为DefaultAppPool和Classic .NET应用程序池。

matque

赞同来自:

我知道这是以不同的方式回答的,但在我的情况下,我注意到即使在手动重启后应用程序池也会自动停止。但是当我更改所用帐户的密码并且几天前更改时,它可以正常工作而无需任何其他更改。 尝试相同。

ueos

赞同来自:

就我而言,问题是DefaultAppPool。我将“加载用户配置文件”更改为false,现在可以正常工作。但是,我不知道这是否有副作用。

enter image description here

jiusto

赞同来自:

这可能是因为与数据库的连接数。我有这样的情况,所以,写了一个解构造并杀死数据库打开连接,它解决了。