如何在IIS7.0上解决"HTTP错误500.19 - 内部服务器错误"

Stu*_*art 183 asp.net iis iis-7 web-applications

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

详细错误信息
模块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>
Run Code Online (Sandbox Code Playgroud)

Jom*_*ohn 331

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

在我的web.config中有一个URL重写模块规则,我还没有安装URL重写模块.我安装url重写模块后,这个问题解决了.

  • +1000完全asinine错误消息有一个它不理解的配置部分 (59认同)
  • 关于这个错误消息不可原谅的事情是,当它显示配置源时,它显示(至​​少在我的)一个代码行为"-1"和"0"的空白窗口.它应该显示的是配置中的"<rewrite>"部分,尖叫着你不知道它是什么...... (11认同)
  • 我希望微软有一张脸,所以我可以用它来填写无用的错误信息. (8认同)
  • @ChrisMarisic - 是的,不是.错误消息没有直接帮助,但它是正确的.没有url重写模块,所以没有<urlRewrite>配置部分有效,所以配置在技术上是错误的.现在为什么他们不能只吐出更好的错误超出我的范围. (4认同)
  • 哇,浪费了3个小时的时间。我会给它+1000000。这个错误信息是多么可笑啊。这救了我的命。 (3认同)
  • 哇微软,另一个摇摆和想念 (2认同)

Bru*_*uce 133

您在应用程序池中使用的用户帐户看起来没有网站目录的权限,因此无法从那里读取配置.检查应用程序池,看看它配置为运行的用户.检查目录并查看该用户是否具有相应的权限.当你在它时,检查事件日志,看看IIS是否在那里记录了更详细的诊断信息.

  • 接受这个问题的答案是好的,解决一些常常会引起麻烦的问题,但对于我们这些正在经历更加模糊问题的人来说,Jomy John的答案目前有更多的选票.它涉及web.config文件中的<rewrite>标记.我正在评论它,因为它离页面很远,我几乎错过了它. (23认同)
  • @ChadMcGrath专业提示:按投票排序答案(设置会坚持) (4认同)

jos*_*ley 90

在Windows 10上我必须安装ASP.NET 3.5和ASP.NET 4.6下Internet Information Services(其他框自动检查自己):

在此输入图像描述

  • 这就是为什么您需要阅读所有建议的答案!谢谢乔希! (3认同)

小智 68

最后,我得到了我的问题的解决方案.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管理器浏览您的网站,它应该工作.


c0b*_*bra 63

我们必须更改域管理员密码后才会出现此错误.

在使用多个设置进行修改后,我最终发现在下面路径中的应用程序中,因为它设置为专门使用域管理员帐户而不是传递身份验证(谁知道原因).

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

  • 我知道这个答案很老,但这也解决了我的问题. (2认同)

Vic*_*cxx 20

你需要做一个步骤:

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"
Run Code Online (Sandbox Code Playgroud)

而已

  • 以管理员身份运行此命令 (2认同)
  • 更好...如果你能对这个命令做一些解释。 (2认同)

小智 15

今天遇到这个问题并解决了它.有人为IIS中的"默认网站"设置了"路径凭据"以作为特定用户运行.由于密码过期或仅仅是例行更改,同一用户更改了密码.将"默认网站"设置为通过基本设置选项连接为"应用程序用户"为我解决了这个问题


小智 13

你可能会更改你的NT密码.

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

祝好运


Gel*_*sio 8

在我的情况下,更改文件夹的解决方案后出现此错误.

我通过goin到我的项目属性并重新创建我的虚拟目录来解决问题.

右键单击项目>属性> Web>在服务器下单击"创建虚拟目录"

它将显示一条消息,指出虚拟目录是在另一个地方创建的,它将更改它


doo*_*eus 7

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


小智 6

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


小智 5

默认网站也需要管理:

1 .在默认网站 -> 基本设置 -> 连接身份,将其更改为正确的用户。

2.更改与defaultWebSite相关的applicationPool的Identiy

运气


FSo*_*ou1 5

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

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

<application path="/" applicationPool="Clr4IntegratedAppPool">
    <virtualDirectory path="/admin/roles" physicalPath="C:\..." />
</application>
Run Code Online (Sandbox Code Playgroud)

我试图用url(http://localhost/admin/roles)AdminController和Rolesaction 打开页面并得到了这个错误.