如何解决IIS7.0上的“ HTTP错误500.19-内部服务器错误”


195

是什么导致此错误,我该如何解决?

详细的错误信息
模块IIS Web核心
通知BeginRequest
处理程序尚未确定
错误代码0x8007052e
配置错误无法使用虚拟目录密码作为用户管理员以本地管理员身份本地登录C:\ inetpub \ wwwroot
配置文件不可用(配置隔离)
请求的URL http:// 192.168.0.3:80/
物理路径C:\ inetpub \ wwwroot
登录方法尚未确定
登录用户尚未确定

配置源

<application path="/" applicationPool="PS-Extranet">
    <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" userName="administrator" password="[enc:AesProvider:PrISRz2ggJH4bV46ktObfCSh91Y/yF9pAoLmH7eCnj0=:enc]" />
</application>

1
“真实”错误消息通常在页面上的某个位置。如果您需要有关此问题的帮助,则应发布错误页面的完整内容。
约翰·法瑞尔

1
只是想为进行Google搜索并提出这个问题的人指出一些不明显的问题:我将VS2012与IISExpress一起使用。我不小心删除了c:/ Users / [您的用户名] / MyDoocuments / MyWebsites / [网站]中的文件夹。这是一个空文件夹(出于某种原因我的大脑说要删除)。一旦从回收站中将其还原,一切都很好。抱歉,您的评论,但似乎比答案在底部出现并且可能看不到的答案要好。如果此处没有其他方法,那么这只是替代方法。
REMESQ

2
查看是否可行:(1)进入IIS管理器,(2)打开网站的“高级设置”窗口,(3)将“物理路径凭据”设置为管理员用户。
杰里米·雷·布朗


我知道它的旧帖子,但这对我有用(轻松的解决方案),我刚刚关闭并重新打开了可视工作室,然后它起作用了。我有完全一样的错误。当我检查我的git命令提示符时,我可以看到.vs/config/applicationhost.config文件已更改,并且它具有更新的虚拟目录路径。
S52

Answers:


145

看来您用于应用程序池的用户帐户没有网站目录的权限,因此无法从该目录读取配置。检查应用程序池,并查看其配置为以哪个用户身份运行。检查目录,查看该用户是否具有适当的权限。在使用它时,请检查事件日志,并查看IIS是否在其中记录了更多详细的诊断信息。


正确的布鲁斯,今天早上解决了,看来系统管理员已经更改了服务器上的帐户密码,但忽略了更改虚拟目录的用户帐户登录。似乎该错误在一夜之间显示,该站点处于闲置状态,从而关闭了应用程序。感谢您的回答
Stuart

对我来说,是IT部门更改了服务帐户上的密码。
JanBorup

@Bruce:我正在本地主机上工作,并且遇到相同的error.What在这种情况下要做什么
2014年

28
对于这个问题,公认的答案是一个很好的答案,它解决了通常会引起麻烦的问题,但是对于我们这些人来说,问题更加晦涩难懂,乔米·约翰(Jomy John)的答案目前票数更高。它涉及web.config文件中的<rewrite>标记。我对它发表评论是因为它离页面很远,而我几乎错过了它。
乍得·麦格拉思

4
@ChadMcGrath Pro提示:按投票对答案进行排序(设置将
保留

363

我有同样的问题,但原因有所不同。

在我的web.config中,有一个URL重写模块规则,我也没有安装URL重写模块。安装URL重写模块后,此问题已解决。


69
+1000完全asinine错误消息,其中包含不理解的配置部分
Chris Marisic 2012年

4
@ChrisMarisic-是和否。错误消息不是直接有用的,但它是正确的。没有url重写模块,因此<urlRewrite> config部分无效,因此该配置在技术上不正确。现在,为什么他们不能仅仅吐出更好的错误,这超出了我的范围。
Wyatt Barnett 2014年

15
关于此错误消息的不可原谅的事情是,当它显示配置源时,它会(至少在我的身上)显示一个带有代码行“ -1”和“ 0”的空白窗口。它应该显示的是您配置中的“ <rewrite>”部分,大叫您不知道它是什么...
JoeCool 2015年

11
我希望微软有一张脸,这样我就可以打出无用的错误消息。
Yatrix

2
微软,另一个摇摆和错过
schmoopy 16-10-19

101

在Windows 10,我不得不安装ASP.NET 3.5ASP.NET 4.6Internet Information Services(其他框自动检查自己):

在此处输入图片说明


这是我使用Dclass的“经典” appPool设置使DNN成为应用程序,应用到虚拟目录的开始的解决方案。现在,我可以在IIS中运行PHP和ASPX应用程序。感谢您开火。
klewis

1
非常感谢。我尝试了很多解决方案,但没有运气,我在这里向下滚动,尝试了您建议的解决方案,它对我有用。干得好#joshcomley
nativegrip

1
这就是为什么您需要阅读所有建议的答案的原因!谢谢乔什!
Conor Gallagher

谢谢!我正在配置的新服务器上收到无用的“ HTTP错误500”消息。在日志文件中,我还看到了19的sc-substatus和33的sc-win32-status。添加了这些dev功能后,固定了mine的特性。
Bob Kaufman

这就是问题,谢谢!
smedasn

72

最后,我找到了解决问题的方法。asp.net帐户未出现在IIS管理器中,因为我没有在IIS中选中它的复选框以在Windows 7中执行此操作,请按照以下步骤进行操作

  1. 打开控制面板
  2. 单击“程序”链接(不卸载程序)
  3. 单击“打开/关闭Windows功能”链接
  4. 在弹出窗口中找到“ Internet信息服务IIS”并展开其节点
  5. 展开“万维网服务”节点
  6. 展开“应用程序开发功能”节点
  7. 选中“ ASP.NET”复选框
  8. 然后点击确定按钮

现在,您将在IIS管理器上看到Asp.net帐户,默认情况下,您会看到IIS帐户。现在,您应该将asp.net网站从“我的文档”移动到IIS有权访问它的另一个位置(移至您的任何分区计算机),然后从IIS管理器浏览您的网站,它应该可以正常工作。


这完全对我有用!谢谢!我的问题是未启用ASP,ASP.NET 3.5和ASP.NET 4.5。所以我检查/启用了它们,现在可以工作了,谢谢!
doncadavona 2015年

正确点。谢谢!
拉兹科

66

我们必须更改我们的域管理员密码后收到此错误。

经过数次设置之后,我最终发现该应用程序位于以下路径中,因为它被设置为专门使用域管理员帐户而不是通过身份验证(谁知道为什么)。

IIS管理器->基本设置->连接


也修复了我的问题(已设置为以我们已禁用的用户身份运行,因此我们切换回传递)。
乔什(Josh)

2
我知道这个答案很旧,但这也解决了我的问题。
smoothgrips

20

您需要执行以下步骤:

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"

而已


1
以管理员
身份

在Windows 10上,它显示以下错误:此版本的操作系统不支持此选项。管理员应该使用“打开/关闭Windows功能”对话框,服务器管理器管理工具或dism.exe命令行工具,将IIS8与ASP.NET 4.5一起安装/卸载。有关更多详细信息,请访问go.microsoft.com/fwlink/?LinkID=216771。已完成安装ASP.NET(4.0.30319.0),而无需将现有的Web应用程序更改为使用此版本的ASP.Net。
Shridhar R Kulkarni

更好...如果您可以对此命令进行一些解释。
eRaisedToX '18

15

今天遇到了这个问题并解决了。有人已经将IIS中“默认网站”的“路径凭据”设置为以特定用户身份运行。该同一用户由于密码过期或只是常规更改而更改了密码。设置“默认网站”以通过“基本设置”选项作为“应用程序用户”连接可以为我解决


这是给我的。谢谢!我的路径凭据已设置为我的帐户,但是今天傍晚,我用手指乱写了密码并被锁定了15分钟。重做我的路径凭证用户名/密码可以解决问题。嗯,由于我的帐户已解锁,所以我想到,如果我刚刚退回服务,那可能就可以解决了。Anyhoo,谢谢!
Patrick Karcher 2013年

2015年2月,IIS错误一如既往地令人困惑。谢谢!
沃伦·P

13

您可能会更改您的NT密码。

打开IIS->右键单击您的应用程序->管理应用程序->高级设置->物理路径凭据。

祝好运


8

就我而言,此错误在更改文件夹的解决方案后出现。

我通过进入项目属性并重新创建虚拟目录来解决该问题。

右键单击项目>属性> Web>在“服务器”部分下,单击“创建虚拟目录”

它将显示一条消息,指出虚拟目录是在另一个位置创建的,并将对其进行更改


7

对我来说,我需要在“添加/删除Windows功能”中的.Net功能下启用Http激活。


6

可以正常工作,但不是基于以上建议。我的情况是在域中的Windows 2008服务器上运行iis7时出现500错误。刚刚在域中添加了一个新用户,并且基本上允许对虚拟目录或文件夹进行读取/执行访问。确保将虚拟文件夹>基本设置>连接为>路径凭据设置为具有读取/执行访问权限的用户。您可以测试设置,并且身份验证和授权都应该起作用。干杯!


5

现在我有这个错误并解决了。您的网址可以与创建的虚拟目录匹配。

您必须检查虚拟目录,在我的示例中,我applicationhost.config在下一行中找到了:

<application path="/" applicationPool="Clr4IntegratedAppPool">
    <virtualDirectory path="/admin/roles" physicalPath="C:\..." />
</application>

我尝试使用url(http://localhost/admin/rolesAdminControllerRolesaction 打开页面,并收到此错误。


4

对于其他人,由于尝试在.Net 2应用程序池中运行.Net 4应用程序,我收到了类似的错误消息。更改应用程序池的.Net FX版本对我来说已经解决了。


4

我在安装www.root目录(不是标准根目录)中的web.config的几行时遇到了类似的错误,错误代码为0x80070020,安装了php 5.3.3。

该解决方案虽然很粗糙,但效果很好。我只是删除了web.config文件,现在一切正常。我花了HOURS尝试其他解决方案,但无济于事。

如果有人认为这很愚蠢,请告诉我。如果其他人花费了相同的时间拔出头发,请尝试一下(当然,在备份文件之后)

关于FEQ


4

出现相同的错误,修复IIS应用程序池中的凭据无济于事。最后,我通过选择“默认网站”,“高级设置”->“物理路径凭据”->“特定用户”下的网站,解决了IIS中的错误,并重新输入了应用程序池用户的凭据,然后重新启动IIS,错误消失了,我的网站出现了成功。


是的,同样 iis7.5于2008R2。由于本地帐户复杂性规则而不得不更改密码,并且不知道IIS中也使用了该密码。通过此评论和此处的其他竞争对手进行了追踪。但这是最具体的。
bytejunkie 2014年

4

默认网站也需要管理:

1。在默认网站上-> basicSettings->连接为,将其更改为正确的用户。

2.更改与默认WebSite相关的applicationPool的ID

运气


2

对我来说,这似乎不是权限问题-尝试让IIS_IUSRS帐户完全控制Web服务中的所有内容,只是看是否是原因。原来,此修补程序是在IIS中重新创建承载Web服务的应用程序(即实际的“ .svc”)


2

如果您尝试访问joomla管理员面板时遇到的麻烦,那就只是用户名和密码问题!您只需更新joomla数据库中的jos_user。

转到您的joomla网站目录,然后使用bloc note或note pad 打开configuration.php,以显示joomla管理员站点使用的数据库名称。您必须找到一行:

public $user = 'joomlauser251';           //MySQL username

在我的情况下joomlauser251是我的数据库名称。

登录到您的mysql:

 mysql -uyourusername -pyourpassword

选择您的joomla数据库:

use joomlauser251;

更改管理员密码:

UPDATE jos_users SET password=MD5(‘NewPassword’) WHERE username=’admin’;

并再次尝试访问。

就这样 !!!


2

就我而言,我在虚拟目录默认值下的applicationHost.config中找到了对旧域帐户密码的引用。


2

如此轻松地在Windows-> System32-> inetsrv-> config中找到文件“ applicationHost.config”。1.将“ applicationHost.config”备份到另一个文件名2.打开文件“ applicationHost.config”清除数据并保存3.打开浏览器,然后呼叫url内部网站,完成。


2

如果您使用的是新的专用用户帐户...还值得检查该帐户的密码是否已过期,因为这也会导致此500.19权限问题。


1

当我得到500.19时,我赋予IIS_IUSRS了提到的web.config和项目文件夹的完全访问权限。这解决了问题。

您可以通过以下方式授予权限

  1. 右键单击文件夹/文件
  2. 选择“安全性”标签
  3. 添加用户IIS_IUSRS-不要忘记USRS前面的i,也不要像USERS一样写“ e”

1

ASP.Net应用程序预先连接了web.config中的处理程序部分。默认情况下,在IIS中的功能委托中,此选项设置为只读。看看IIS管理器

1.转到IIS管理器并单击服务器名称

2.转到管理部分,然后单击功能委托

3.选择应该设置为只读处理程序映射

4.将值更改为读/写,现在您可以解决问题


1

关于这一点,我还有一点要说。使用相同的HTTP错误代码,您仍然可以遇到几个不同的错误,因为其中一个错误已发布在原始问题的描述中。例如:编辑完Web.ConfigASP.NET项目的文件后,

错误代码0x8007000d

“仅允许一个<configSections>元素。它必须是根<configuration>元素的第一个子元素”

就像说的那样,您一定不能<configSections>Web.Config文件的一部分之前插入自己的XML内容。在将代码段插入到的结束标记之后<configSections>,效果很好。



1

我的解决办法是

  1. 只需删除损坏的文件夹。
  2. 然后再次重新创建文件夹。

好像是在IIS安装之前创建了损坏的文件夹。如果您再次创建文件夹,它将正常运行。


1

从运行IIS的计算机上卸载Windows Server Update Services(WSUS)后,出现此错误。显然,卸载WSUS可能会破坏服务器上的IIS配置,从而使安装在同一服务器上的其他Web应用程序不可用。

我在这里找到了解决问题的方法。



1

就我而言,密钥的值在Web.config文件中不正确:

    <defaultDocument>
        <files>
            <add value="Portal.htm" />
        </files>
    </defaultDocument>

当我将值更改为“ Portal.html”时,它起作用了。


0

从Visual Studio 2013升级到2015后,出现此错误。经过一番搜索和尝试各种修复后,我发现可以通过从web.config中删除以下内容来解决该问题:

<staticContent>
    <mimeMap fileExtension=".less" mimeType="text/css" />
</staticContent >

显然现在不推荐使用staticContent吗?

资源

编辑1

部署程序时,这种阻止IIS停止提供.json文件的功能。如果执行此操作,则应该将.json(application / json)重新添加到IIS中站点的mime类型。这是更多信息:http : //www.iis.net/configreference/system.webserver/staticcontent/mimemap

编辑2

我注意到在我的情况下,上面的edit 1解决方案只能暂时起作用。重新部署后,该条目将被删除。因此,我将mimeMap XML移至Web.Release.config。现在工作正常。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.