Http错误503服务不可用
一般来说,我对设置networking服务器确实很陌生。 我已经在Windows 8上安装了IIS 8,我正在尝试在本地设置一个小站点,同时进行一些开发。 在IIS中,我select添加站点,给一个名称,指向一个位置,我有一个index.html文件(我试过不同的位置,最新的一个c:\ inetpub \ wwwroot \testing文件夹),否则使用所有的默认设置。 但是,当我尝试浏览到本地主机,我得到
http错误503服务不可用。
我已经validation池已经启动,并且我已经在目标文件夹上提供了IIS_IUSRS完全控制
我周围search,但没有发现任何解决我的问题,并没有什么有用的事件日志或在C:\ Windows \ System32 \ LogFiles \ HTTPERR文件夹
谁能告诉我什么是错的?
可能是用户身份已过时,特别是如果您尝试启动已停止的应用程序池,并且下一个请求再次失败。
在IIS中,转到服务器下的应用程序池,然后为您的网站find正确的应用程序池,然后单击它。 在右侧的“高级设置”菜单中,select“身份”并更改它,然后input新的用户和密码。 再次单击您的应用程序池,然后select回收以重新启动它。
您还可以尝试查看Windows日志,应用程序,详细信息选项卡下的事件查看器中的错误消息。
编辑:jcolebrand 2017-05-04
我有这个错误,这是因为我正在做一些PowerShell脚本,所以我有C:\\path
而不是C:\path
。 你错了! 这样说, 总是仔细检查你的键入值。
在我的情况下,问题是DefaultAppPool。 我改变了“加载用户configuration文件”为false,现在它的工作。 但是,我不知道这是否有副作用。
其他答案是好的。 但在我的情况下,我正在一个已经运行一些旧的IIS,IISExpress或任何其他网站的Windows框。 发生了什么事urls ACL在哪里保留在系统中。 所以,你可能想检查一下。
这是控制台命令转储所有URL acls:
netsh http show urlacl
检查此处返回的内容,如果有任何与您正在testing的URL相匹配,则这里是删除一个URL acl的命令(例如):
netsh http delete urlacl url=http://localhost:2018/
(注意仔细注意你在这里做什么,以防与原始问题无关)
检查您的应用程序各自的应用程序框架池 – 可能会停止。 如果是,请启动并重新检查。
如果您仍然遇到问题,则还可以检出事件查看器以查找错误的原因,以排除更多故障。
如果它对任何人都有帮助,这可能是可笑的,但对我来说并不明显,应用程序池并没有启动。 我只是推测在启动网站或创build应用程序池,它会启动。 事实上,我甚至不知道你必须启动应用程序池…
在我的情况下,应用程序池已经停止。 开始解决问题。
我的网站托pipe在Arvixe上。 错误问题可能是因为我有基于成员资格的应用程序,当我上传文件时发生了什么坏事。
如果应用程序池在某个用户身份下运行,则再次转到更新用户名密码的高级设置,它对我有用。
首先在系统或应用程序日志下查看事件查看器。
在我的情况下,问题是没有工作进程可以启动的应用程序池,因为它的configuration文件不能被读取 – 我已经包括一个额外的'。 在它的名字的末尾。
我通过删除与IIS中的应用程序目录相匹配的URL保留来解决此问题。 我有一个类似(绝对不一样)的问题,在这篇文章中概述:
503服务不可用的一个不常见的根本原因
在我的情况下,池使用自定义标识(帐户和密码)。密码过期并重新加载后,错误已经ocured.I只是在身份正确的密码
在我的情况下,我创build了一个新的应用程序池,只是忘了启动它。
您的域名可能需要用于运行AppPool的帐户具有批量login权限。 在这种情况下,您将看到相同的错误消息。 您可以通过查看事件查看器中的系统事件来判断是否属于这种情况。 应该有一个事件说,与App池一起使用的帐户有“密码错误或没有批量login权限”。
这就是为什么开发人员经常在开发机器上使用IIS Express的原因,因为它通过了批量login权限的问题。
我遇到了同样的问题,但这是IIS
的实际站点设置的问题。
selectAdvanced Settings...
为您的站点/应用程序,然后查看Enabled Protocols
值。 无论什么共同的价值是我的网站的空白,并导致以下错误:
http错误503服务不可用。
该修补程序是添加在http
然后selectOK
。 该网站,然后再次function。
检查事件查看器 – Windows – 应用程序。 如果有一个由IIS-W3SVC-WP生成的红色“错误”行,并且消息类似于模块DLL C:\ Windows \ system32 \ inetsrv \ rewrite.dll加载失败。 数据是错误的。 那么你缺less一些Windows安装程序的function。
在Windows Server 2012中,转到服务器pipe理器,添加angular色和function,Web服务器(IIS)并添加匹配function。 通常,大部分应用程序开发部分都已安装。 以下是IISfunction及其相关DLL的完整列表,以帮助诊断。
经过几次迭代之后,我结束了关于“rewrite.dll”的上述错误信息。 这导致直接下载并安装Microsoft URL重写工具 。 最后所有的网站都起来了。
如果你已经安装了IIS URL重写,那么可以这样做。 我在Windows 10更新后遇到问题。
这个StackOverflow后帮助了我。
转到Windows Control Panel
> Programs and Features
> IIS URL Rewrite Module 2
> Repair
。
我跟着上面的解决HTTP错误503链接。 在我的情况下,我的应用程序池停止每次我右键单击我的svc文件并select“浏览”。
我遵循以下步骤来解决应用程序池停止的问题
我正在使用Windows Server 2008 R2。
在我的IISpipe理器应用程序池中,我右键单击了我感兴趣的应用程序池并单击“高级设置”。 这打开了高级设置popup。
在“stream程模型”部分,点击“身份”,然后在“我的应用程序池标识”popup窗口中单击“ 这将打开设置凭证popup,我给用户名,密码,并确认密码,然后单击确定。
现在当我右键点击我的svc文件,它在IE浏览器中打开。
经过一些尝试和错误,我发现,该应用程序池被configuration为使用我的域帐户作为身份,我记得我之前更改了我的域帐户的密码。 重置应用程序池的身份(使用我的新密码)解决了问题,应用程序池可以重新启动,没有任何问题。
或者,如果当前的解决scheme都不起作用,请在您的网站目录中查找名为app_offline.htm
的文件。 这基本上告诉IIS,您的网站是不可用的,而不是显示此页面。
要修复它,请将其删除或将其重命名为app_offline.htm.bak
。
在我的情况下,我添加了它,同时向同事展示了如何使用它来暂时阻止网站stream量,然后忘记了我在我的箱子上做到了这一点。 叹。
将Windows 7升级到Windows 10后,使用IIS Express 10.0也是如此。解决scheme:转到IIS并启用所有禁用的网站,然后重新安装ASP.NET Core。
如果您拥有McAfee HIPS,并且在事件查看器应用程序日志中看到以下错误:
模块DLL C:\ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll加载失败。
数据是错误的。
然后,McAfee.com上的这个解决方法就解决了这个问题。
从页面引用:
- 单击开始,运行,键入资源pipe理器并单击确定。
- 导航到:%windir%\ system32 \ inetsrv \ config
- 以pipe理员身份打开文件applicationHost.config,在记事本中进行编辑。
编辑<globalModules>部分并删除以下行:
<add name =“MfeEngine”image =“%windir%\ System32 \ inetsrv \ HipIISEngineStub.dll”/>编辑<modules>部分并删除以下行:
<add name =“MfeEngine”/>- 编辑完applicationHost.config文件后,请保存该文件,然后使用iisreset或重新启动系统来重新启动IIS服务器。
同时检查地址栏,确保页面位于正确的位置。
此错误可以返回而不是404(页面未find)。 在我的情况下,这是页面上没有包含子文件夹的错误链接。
我们的服务器在星期天下午的磁盘空间不足,导致应用程序突然失败,并返回HTTP错误502.日志是空的,所以它必须是在IIS甚至做任何事情之前发生的事情。
快速查看事件查看器( WIN+R > eventvwr
)暴露了这个问题。
将系统和应用程序窗口的输出过滤到WAS是一个好主意,因为它可以在那里变得非常详细。
应用程序依赖于另一个被禁用的应用程序。 因此请记住,如果某个应用程序的某个依赖进程已经停止,那么这个应用程序可能会间接地下移 我们只是重新启用.NET应用程序池,我们的其他应用程序又开始正常运行。
这可能是因为连接到数据库的数量。 我有这样的情况,所以,写了一个去构造函数,并打死数据库打开连接,它解决了。
我遇到了同样的问题,并发现它是由在C:\ Users中创build用户configuration文件的权限问题引起的。 我将ApplicationPoolIdentity的完整权限授予了C:\ Users文件夹,启动了该网站并且一切正常,configuration文件必须已经正确创build,并且我的网站按原样工作。 然后我从ApplicationPoolIdentity中删除了对C:\ Users的访问。
只有在使用NetworkService时,站点才会在本地使用ApplicationPoolIdentity启动:“HTTP错误503.服务不可用”。
对我来说,DefaultAppPool无法启动,事件日志告诉我C:\Windows\System32\inetsrv\redirect.dll
无法加载。
该文件丢失。 原因是Windowsfunction“HTTPredirect”未安装。 在Internet Information Services\World Wide Web Services\Common HTTP Features\HTTP Redirection
下检查该function是否为票证。 如果你现在就安装它,不需要重新启动。
我知道这是以不同的方式回答,但在我的情况下,我注意到即使手动重启,应用程序池也会自动停止。 而且,但是当我更改使用的帐户的密码,并在几天前更改,它工作得很好,没有任何其他更改。 尝试相同的。
这发生在我的内部网上的服务器上。 浏览博客文章和Windows日志后,事实certificate,2015年圣诞节前几天(与Windows Update有关),我的网站应用程序池想要在文件夹c:\ inetpub \ temp \ appPools中创build一个configuration文件,但对这个文件夹的访问受到限制。 这导致应用程序池被禁用。
将完全控制添加到此临时文件夹中的每个人后,我重新启动Windows进程激活服务,并再次联机。
如果我更优雅一点,它可能已经足以授予AppPool用户完全控制文件夹,但我似乎从来没有记得应用程序池名称和应用程序池用户如何相互关联…
在我的情况下,问题是另一个应用程序正在使用我绑定到我的网站的端口。
我通过从命令行运行以下命令来find它,该命令列出了所有监听端口和所涉及的可执行文件:
netstat -b
我今天有同样的错误。 问题是我最近更改了域密码,所以我必须在每个应用程序池中的高级设置>过程模型>身份凭证中进行更新。
如果最近的.NET框架和/或ASP.NET发生了任何安装或更新,也可能发生这种情况。 如果您不确定最近发生的事情,并且如果您的所有应用程序都使用ASP.NET版本4,则可以尝试通过在pipe理员模式下的命令提示符下运行以下命令来重置它们。
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 aspnet_regiis -i
这确保安装或重新安装ASP.NET 4并更新现有应用程序以使用ASP.NET 4版本的应用程序池。 它将更新IIS元数据库中的IIS Classic和集成模式处理程序和脚本映射。 它还重新创buildASP.NET v4.0和ASP.NET v4.0 Classic应用程序池,并将.NET Framework 4设置为DefaultAppPool和Classic .NET应用程序池。