【问题标题】:How do I resolve "HTTP Error 500.19 - Internal Server Error" on IIS7.0 [closed]如何解决 IIS7.0 上的“HTTP 错误 500.19 - 内部服务器错误”[关闭]
【发布时间】:2009-05-30 06:06:08
【问题描述】:

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

详细的错误信息
模块 IIS Web 核心
通知开始请求
处理程序尚未确定
错误代码 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>

【问题讨论】:

  • “真正的”错误信息通常在页面的某个地方。如果您需要有关此问题的帮助,您应该发布错误页面的完整内容。
  • 只是想为那些在谷歌搜索并提出这个问题的人指出一些事情,如果它不是很明显:我正在使用 VS2012 和 IISExpress。我不小心删除了 c:/Users/[YOUR USER NAME]/MyDoocuments/MyWebsites/[THE WEBSITE] 中的文件夹。这是一个空文件夹(出于某种原因,我的大脑说要删除)。一旦我从回收站恢复它,一切都很好。很抱歉发表评论,但这似乎比一个会在底部结束并且可能看不到的答案要好。如果这里没有其他方法,这只是一种选择。
  • 看看这是否可行:(1) 进入 IIS 管理器,(2) 打开网站的高级设置窗口,(3) 将物理路径凭据设置为管理员用户。
  • 我知道它的旧帖子,但这对我有用(简单的解决方案),我刚刚关闭并重新打开了视觉工作室并且它有效。我有完全相同的错误。当我检查我的 git 命令提示符时,我可以看到 .vs/config/applicationhost.config 文件已更改并且它已更新虚拟目录路径。

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


【解决方案1】:

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

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

【讨论】:

  • +1000 完全愚蠢的错误消息,因为它有一个不理解的配置部分
  • @ChrisMarisic -- 是也不是。错误消息没有直接帮助,但它是正确的。没有 url 重写模块,所以没有 配置部分是有效的,所以配置在技术上是错误的。现在为什么他们不能吐出一个更好的错误是我无法理解的。
  • 哇,浪费了 3 个小时。我会给它+1000000。该错误消息多么荒谬。这节省了我的时间。
  • 这个错误消息不可原谅的是,当它显示配置源时,它显示(至​​少在我的)一个带有代码行“-1”和“0”的空白窗口。它应该显示的是你的配置中的“”部分,对你尖叫它不知道它是什么......
  • 我希望微软有一张脸,这样我就可以为无用的错误信息打脸。
【解决方案2】:

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

【讨论】:

  • 正确的布鲁斯,今天早上已经解决了,似乎系统管理员更改了服务器上的帐户密码,但忽略了更改虚拟目录的用户帐户登录。当网站有一段时间不活动时,错误似乎在一夜之间出现,关闭了应用程序。感谢您的回答
  • 对我来说,是 IT 部门更改了服务帐户的密码。
  • @Bruce:我正在使用 localhost 并遇到相同的错误。在这种情况下该怎么办
  • 这个问题的公认答案是一个很好的答案,解决问题通常会引起麻烦,但对于我们这些遇到更模糊问题的人来说,Jomy John 的答案目前有更多的选票。它涉及 web.config 文件中的 标记。我正在评论它,因为它在页面下方很长,我几乎错过了它。
  • @ChadMcGrath Pro 提示:按投票排序答案(该设置将保持不变)
【解决方案3】:

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

【讨论】:

  • 这是我开始使用 DNN 作为应用程序工作的解决方案,它位于虚拟目录中,具有“经典”的 appPool 设置。现在我可以在 IIS 中运行 PHP 和 ASPX 应用程序。谢谢你生火。
  • 非常感谢。我尝试了很多解决方案但没有运气,我向下滚动并尝试了您建议的解决方案,它对我有用。干得好#joshcomley
  • 这就是为什么您需要阅读所有建议的答案!谢谢乔希!
  • 谢谢!我正在配置的新服务器上收到无用的“HTTP 错误 500”消息。在日志文件中,我还看到 sc-substatus 为 19,sc-win32-status 为 33。添加这些开发功能修复了我的问题。
  • 这是问题,谢谢!
【解决方案4】:

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

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

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

【讨论】:

  • 这完全适合我!谢谢!我的问题是没有启用 ASP、ASP.NET 3.5 和 ASP.NET 4.5。所以我检查/启用了它们,它现在可以工作了,谢谢!
  • 切入正题。谢谢!
  • 非常感谢他们都没有为我工作,你救了我的命,工作。
【解决方案5】:

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

在摸索了几个设置之后,我最终发现在下面路径中的应用程序中,它被设置为专门使用域管理员帐户而不是直通身份验证(谁知道为什么)。

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

【讨论】:

  • 修复了我的问题(设置为以我们禁用的用户身份运行,因此我们切换回直通)。
  • 我知道这个答案很旧,但这也解决了我的问题。
【解决方案6】:

你需要做一步:

run->cmd

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

就是这样

【讨论】:

  • 以管理员身份运行此命令
  • 在 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。
  • 更好......如果你能对这个命令做一些解释。
  • 不,不是这样
【解决方案7】:

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

【讨论】:

  • 这是给我的。谢谢!我的路径凭据已设置到我的帐户中,但今天晚上早些时候,我发现我的密码被锁定了 15 分钟。重做我的路径凭据用户名/密码就可以了。嗯,由于我的帐户已解锁,我突然想到,如果我刚刚退回服务,那可能就成功了。无论如何,谢谢!
  • 2015 年 2 月,IIS 错误一如既往地令人困惑。谢谢!
【解决方案8】:

您可能更改了 NT 密码。

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

祝你好运

【讨论】:

    【解决方案9】:

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

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

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

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

    【讨论】:

      【解决方案10】:

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

      【讨论】:

        【解决方案11】:

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

        【讨论】:

          【解决方案12】:

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

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

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

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

          【讨论】:

            【解决方案13】:

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

            【讨论】:

              【解决方案14】:

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

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

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

              关于 FEQ

              【讨论】:

                【解决方案15】:

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

                【讨论】:

                • 是的,同样。 2008R2 上的 iis7.5。由于本地帐户复杂性规则,不得不更改密码,并且不知道它也在 IIS 中使用。用这个评论和其他一些人在这里找到了它。但这是最具体的。
                【解决方案16】:

                默认网站也需要管理:

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

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

                g.运气

                【讨论】:

                  【解决方案17】:

                  如果您尝试访问 joomla 管理员面板时出现问题,则只是用户名和密码问题!您只需更新 joomla 数据库中的 jos_user。

                  转到您的 joomla 网站目录并打开带有 bloc note 或记事本的 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’;
                  

                  然后重新尝试访问。

                  就是这样!!!

                  【讨论】:

                    【解决方案18】:

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

                    【讨论】:

                      【解决方案19】:

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

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

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

                      【讨论】:

                        【解决方案20】:

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

                        【讨论】:

                          【解决方案21】:

                          这么简单 在 Windows -> System32 -> inetsrv -> config 中找到文件“applicationHost.config” 1.将“applicationHost.config”备份到另一个文件名 2.打开文件“applicationHost.config”清除数据并保存 3.打开浏览器调用内部网址,完成。

                          【讨论】:

                            【解决方案22】:

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

                            【讨论】:

                              【解决方案23】:

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

                              1.进入IIS管理器并点击服务器名称

                              2.进入管理部分并点击Feature Delegation

                              3.选择应该设置为readonlyHandler Mappings

                              4.将值更改为read/write,现在您可以解决问题了

                              【讨论】:

                                【解决方案24】:

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

                                错误代码0x8007000d

                                "只允许一个 元素。它必须是根 元素的第一个子元素"

                                正如它所说,您不能在Web.Config 文件的&lt;configSections&gt; 部分之前插入您自己的 XML 内容。在&lt;configSections&gt; 的结束标记之后插入我的 sn-p 后,它工作得很好。

                                【讨论】:

                                  【解决方案25】:

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

                                  【讨论】:

                                    【解决方案26】:

                                    我的解决办法是,

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

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

                                    【讨论】:

                                      【解决方案27】:

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

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

                                      【讨论】:

                                        【解决方案28】:

                                        对于 ASP.NET Core 网站,如果您没有安装 HttpPlatformHandler 模块,也会出现此一般错误,请参阅this answer了解更多详细信息。

                                        【讨论】:

                                          【解决方案29】:

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

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

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

                                          【讨论】:

                                            【解决方案30】:

                                            我从 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。现在工作正常。

                                            【讨论】:

                                              猜你喜欢
                                              • 1970-01-01
                                              • 2021-07-23
                                              • 1970-01-01
                                              • 2012-06-15
                                              • 2012-06-03
                                              • 1970-01-01
                                              • 2018-04-05
                                              相关资源
                                              最近更新 更多