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

时间:2009-05-30 06:06:09

标签: asp.net iis web-applications iis-7

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

  

详细错误信息
  模块IIS Web核心
  通知BeginRequest
  处理程序尚未确定
  错误代码0x8007052e
  配置错误无法以具有虚拟目录密码的用户管理员在本地登录到C:\ inetpub \ wwwroot   配置文件不可用(配置隔离)
  请求的网址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>

30 个答案:

答案 0 :(得分:307)

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

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

答案 1 :(得分:127)

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

答案 2 :(得分:75)

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

enter image description here

答案 3 :(得分:66)

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

  1. 打开控制面板
  2. 点击“程序”链接(不是卸载程序)
  3. 点击“打开/关闭Windows功能”链接
  4. 在弹出窗口中找到“Internet Information services IIS”并展开其节点
  5. 展开“万维网服务”节点
  6. 展开“应用程序开发功能”节点
  7. 选中“ASP.NET”的复选框
  8. 然后单击“确定”按钮
  9. 现在您将在IIS管理器上看到Asp.net帐户,默认情况下您会看到IIS帐户现在您应该将asp.net网站从“我的文档”移动到IIS有权访问它的任何地方(对于任何您的计算机上的分区)现在从IIS管理器浏览您的网站,它应该工作。

答案 4 :(得分:64)

我们在更改域名管理员密码后收到此错误。

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

  

IIS管理器 - &gt;基本设置 - &gt;连接

答案 5 :(得分:19)

你需要做一步:

run->cmd

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

多数民众赞成

答案 6 :(得分:15)

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

答案 7 :(得分:11)

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

  

打开IIS - &gt;右键单击您的应用程序 - &gt;管理应用程序 - &gt; advanched设置 - &gt;物理路径凭证。

祝你好运

答案 8 :(得分:8)

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

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

右键点击项目&gt;属性&gt;网络&gt;在“服务器”部分下,单击“创建虚拟目录”

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

答案 9 :(得分:6)

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

答案 10 :(得分:5)

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

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

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

我尝试使用http://localhost/admin/rolesAdminController操作的网址(Roles)打开网页,并收到此错误。

答案 11 :(得分:4)

遇到相同的错误并修复IIS应用程序池中的凭据没有帮助。我最终通过在默认网站,高级设置 - >物理路径凭证 - >特定用户下选择我的网站解决了IIS中的错误,并重新输入了应用程序池用户的凭据,然后重新启动了IIS,错误消失了,我的网站成功上映。

答案 12 :(得分:4)

默认网站也需要管理:

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

2.更改与defaultWebSite

相关的applicationPool的Identiy

g.luck

答案 13 :(得分:4)

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

解决方案,虽然原油,完美的工作。我只是删除了web.config文件,现在一切正常。我花了两个小时尝试其他解决方案无济于事。

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

关注FEQ

答案 14 :(得分:4)

对于其他人,由于尝试在.Net 2应用程序池中运行.Net 4应用程序,我收到了类似的错误消息。更改应用程序池的.Net FX版本为我修复了它。

答案 15 :(得分:3)

对我来说,我需要在&#34;添加/删除Windows功能&#34;

中的.Net功能下启用 Http Activation

答案 16 :(得分:2)

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

答案 17 :(得分:2)

很容易 找到文件&#34; applicationHost.config&#34;在Windows中 - &gt; System32 - &gt; inetsrv - &gt;配置  1. backup&#34; applicationHost.config&#34;到另一个文件名  2.打开文件&#34; applicationHost.config&#34;清除数据并保存  3.打开浏览器并调用url内部网站,完成。

答案 18 :(得分: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;

更改admin的密码:

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

然后再次尝试重新访问。

这就是全部!!!

答案 19 :(得分:2)

似乎对我来说似乎不是一个权限问题 - 尝试让IIS_IUSRS帐户完全控制Web服务中的所有内容,只是为了查看这是否是原因。该修复程序原来是在IIS中重新创建托管Web服务的应用程序(即实际的'.svc')

答案 20 :(得分:1)

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

1.转到 IIS管理器,然后单击“服务器名称”

2.转到部分管理,然后点击功能委派

3.选择处理程序映射,它应设置为 readonly

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

答案 21 :(得分:1)

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

您可以通过

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

答案 22 :(得分:1)

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

  

错误代码0x8007000d

     

“只允许一个&lt; configSections&gt;元素。它必须是根&lt; configuration&gt;元素的第一个子元素”

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

答案 23 :(得分:1)

我的网站未在IIS中指定正确的路径。

答案 24 :(得分:1)

我的解决方案是,

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

    似乎在IIS之前创建了损坏的文件夹   建立。如果您再次创建了文件夹,它将正常工作。

答案 25 :(得分:1)

对于ASP.NET Core网站,如果您没有安装HttpPlatformHandler模​​块,也会发生此一般性错误,有关详细信息,请参阅this answer

答案 26 :(得分:0)

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

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

显然现在不推荐使用staticContent?

Source

修改1

这种方法阻止了IIS在部署程序时提供.json文件。如果你这样做,你应该重新添加.json(application / json)到IIS中你的站点的mime类型。以下是一些更多信息:http://www.iis.net/configreference/system.webserver/staticcontent/mimemap

修改2

我注意到在我的情况下,上面的编辑1解决方案只能暂时运行。重新部署后,条目将被删除。所以,我将mimeMap XML移动到Web.Release.config。现在工作正常。

答案 27 :(得分:0)

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

我找到了问题的解决方案here

答案 28 :(得分:0)

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

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

当我将值更改为&#34; Portal.html&#34;它奏效了。

答案 29 :(得分:-3)

  1. 从开始按钮
  2. 打开IIS管理器
  3. 双击功能委托
  4. 使所有属性读写
  5. 转到ISPAI并删除所有权限
  6. 如果上面没有正常工作。然后,确保在安装IIS之前先安装了visual studio,

    为了更好的解决方案,请卸载visual studio,然后再次正确安装第一个IIS,然后再安装Visual Studio