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

什么原因导致这个错误,我该如何解决?

详细的错误信息
模块IIS Web Core
通知BeginRequest
处理程序尚未确定
错误代码0x8007052e
configuration错误无法使用虚拟目录密码以用户pipe理员身份本地login到C:\ inetpub \ wwwroot
configuration文件不可用(configuration隔离)
请求的urlhttp://192.168.0.3:80/
物理pathC:\ inetpub \ wwwroot
login方法尚未确定
login用户尚未确定

configuration来源

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

看起来像你用于你的应用程序池的用户帐户没有权限的网站目录,所以它不能从那里读configuration。 检查应用程序池,看看它被configuration为运行的用户。 检查目录,看看该用户是否有适当的权利。 当你在这个时候,检查事件日志,看看IIS是否在那里logging了更详细的诊断信息。

我有同样的问题,但理由是不同的。

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

在更改我们的域pipe理员密码后,我们得到了这个错误。

我最终发现,在IIS Manager-> Basic Settings-> Connect as …的应用程序中,它设置为专门使用域pipe理员帐户而不是传递身份validation(谁知道为什么)。

最后,我得到解决我的问题。 该asp.net帐户不会出现在IISpipe理器中,因为我没有检查它的checkbox在IIS中执行此操作在Windows 7中按照步骤

  1. 打开控制面板
  2. 点击“程序”链接(不是卸载程序)
  3. 点击“打开/closures窗口function”链接
  4. 在popup窗口中find“Internet Information Services IIS”并展开其节点
  5. 展开“万维网服务”节点
  6. 展开“应用程序开发function”节点
  7. 选中“ASP.NET”checkbox
  8. 然后点击确定button

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

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

在这里输入图像描述

你需要做的一步:

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

而已

今天经历了这个问题并解决了它。 有人为IIS中的“默认网站”设置了“path凭据”,以便以特定用户身份运行。 由于密码过期或只是例行更改,同一用户更改了密码。 设置“默认网站”作为“应用程序用户”通过基本设置选项连接解决了我

你试探性地改变你的NT密码。 input到IIS右键单击您的应用程序 – >pipe理应用程序 – >高级设置 – >物理path凭据。

祝你好运

得到这个工作好,但不是基于上述build议。 我的情况是,得到在域中的Windows 2008服务器上运行iis7的500错误。 只是在域中添加了一个新用户,基本上允许读取/执行访问虚拟目录或文件夹。 确保将虚拟文件夹>基本设置>连接为>path凭据设置为具有读取/ xecute访问权限的用户。 您可以testing设置,authentication和授权都应该工作。 干杯!

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

我通过布莱恩到我的项目属性解决问题,并重新创build我的虚拟目录。

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

它会显示一条消息,说虚拟目录是在另一个地方创build的,它会改变它

现在我有这个错误,并解决它。 您的url可以与创build的虚拟目录匹配。

你必须检查虚拟目录,在我的例子中我发现applicationhost.config下一行:

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

我试图打开页面的AdminControllerRoles行动的URL( http://localhost/admin/roles ),并得到这个错误。

是有相同的错误,并修复IIS应用程序池中的凭据没有帮助。 我终于通过select我的网站在默认网站,高级设置 – >物理path证书 – >特定用户,并重新进入应用程序池用户的凭据,然后重新启动IIS,错误消失,我的网站来成功。

默认的网站也需要pipe理:

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

2.更改与defaultWebSite相关的applicationPool的标识

g.luck

对于其他人,我得到了一个类似的错误信息,因为试图在.Net 2应用程序池中运行.Net 4应用程序。 更改应用程序池的.Net FX版本为我解决了这个问题。

我有一个类似的错误安装PHP 5.3.3与错误代码0x80070020有一个方向在我的www根目录(不是标准的根目录)web.config几行。

这个解决scheme虽然简单,但工作完美。 我只是删除了web.config文件,现在一切正常。 我花了几个小时尝试其他解决scheme无济于事。

如果有人认为这是愚蠢的,请让我知道。 如果其他人花费了相同的时间拉出头发,试试看(当然备份文件后)

关于FEQ

对我来说似乎没有一个权限问题 – 试图让IIS_IUSRS帐户完全控制Web服务中的所有内容,只是为了看看是否是原因。 修复竟然是在IIS中重新创build托pipeWeb服务的应用程序(即实际的.svc)

如果你试图访问joomlapipe理员面板,只是用户名和密码问题! 您只需更新joomla数据库中的jos_user。

转到您的joomla网站目录,并打开一个configuration文件注释或笔记本的configuration.php来显示您的joomlapipe理员网站使用的数据库名称。 你必须find一个行:

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

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

login到你的mysql:

  mysql -uyourusername -pyourpassword 

为你的joomlaselect数据库:

 use joomlauser251; 

更改admin的密码:

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

然后重试再次访问。

就这样 !!!

在我的情况下,我发现在虚拟目录默认情况下在applicationHost.config中的旧域帐户密码的引用。

所以很容易find文件“applicationHost.config”在Windows中 – > System32 – > inetsrv – >configuration1.备份“applicationHost.config”到另一个文件名2.打开文件“applicationHost.config”清除数据并保存3.打开浏览器和打电话给url内部网站,说完了。

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

对我而言,我需要在“添加/删除Windowsfunction”中的.Netfunction下启用Http Activation

当我得到了500.19,我给IIS_IUSRS充分的访问权限提到的web.config和项目的文件夹。 这解决了这个问题。

你可以通过授予权限

  1. 右键点击文件夹/文件
  2. select标签“安全”
  3. 添加用户IIS_IUSRS – 不要忘记我在USRS面前,不要写“e”,如USERS

ASP.Net应用程序预先连接web.config中的处理程序部分。 默认情况下,它被设置为在IIS中的function委托中只读。 看一下IISpipe理器

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

2.转到pipe理部分 ,然后单击function委派

3.select应该设置为只读Handler Mappings

4.更改值以读取/写入 ,现在可以解决问题

我还有一件事要说。 使用相同的HTTP错误代码,仍然可能有几个不同的错误,因为其中一个已经发布在这里的原始问题的描述。 例如:在我编辑ASP.NET项目的Web.Config文件之后,

错误代码0x8007000d

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

正如它所说的,您不能在Web.Config文件的<configSections>部分之前插入自己的XML内容。 当我在<configSections>的结束标记之后插入片段后,它工作得很好。

我的网站的正确path没有在IIS中指定。

我的解决办法是,

  1. 只要删除损坏的文件夹。
  2. 然后再重新创build文件夹。

看来,如果在IIS安装之前创build了损坏的文件夹。 如果您再次创build文件夹,它将正常工作。

对于ASP.NET Core网站,如果您没有安装HttpPlatformHandler模​​块,也会出现此类一般错误,请参阅此答案以获取更多详细信息。

从Visual Studio 2013升级到2015年,我得到了这个错误。经过一些search和尝试各种修复后,我发现这个问题可以通过从web.config中删除以下来解决:

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

显然静态内容现在被弃用?

资源

编辑1

这种方式阻止IIS在部署程序时服务.json文件。 如果你这样做,你应该重新添加.json(应用程序/ JSON)到您的网站在IIS中的MIMEtypes。 这里是一些更多的信息: http : //www.iis.net/configreference/system.webserver/staticcontent/mimemap

编辑2

我注意到,在我的情况下,上述编辑1解决scheme只能暂时工作。 一旦我重新部署条目被删除。 所以,我把mimeMap XML移到了Web.Release.config 。 现在工作正常。

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

我在这里find了解决问题的办法。

在我的情况下,键值在Web.config文件中是不正确的:

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

当我将其值更改为“Portal.html”它的工作。