HTTP 错误 500.19 - 打开 IIS 网页时的内部服务器错误

本文解决了在 Internet Information Services (IIS) 7.0 及更高版本的 Web 应用程序上收到"HTTP 500.19"错误消息的问题。

原始产品版本:  Internet Information Services 7.0 及更高版本
原始 KB 编号:   942055

若要解决此错误,请检查以下各节,了解相应的错误代码信息。

HRESULT 代码0x8007000d

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x8007000d
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

出现此问题的原因是,ApplicationHost.config或Web.config XML 元素格式不正确或无法识别。 IIS 无法标识未安装的模块的 XML 元素。 例如,IIS URL 重写 模块。

解决方案

使用以下方法之一:

  • 从文件中删除格式错误的 XML ApplicationHost.configWeb.config文件。
  • 检查无法识别的 XML 元素,然后安装相关的 IIS 模块。

HRESULT 代码0x80070021

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x80070021
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

如果在较高配置级别锁定了 IIS 配置文件的指定部分,则可能会发生此问题。

解决方案

解锁指定节,或不要将其用于较高级别。 有关配置锁定详细信息,请参阅如何在 IIS 7.0配置中使用锁定。

HRESULT 代码0x80070005

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x80070005
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

此问题是由下列原因之一导致的:

  • 在运行 IIS 的计算机上使用的是Windows。 此外,将网站配置为使用通用命名约定 (UNC) 传递身份验证来访问远程 UNC 共享。
  • IIS_IUSRS组没有针对 IIS 的ApplicationHost.config文件、Web.config或应用程序目录的适当权限。

解决方案

使用以下方法之一:

  • 不要将网站配置为使用 UNC 传递身份验证来访问远程 UNC 共享。 相反,请指定具有访问远程 UNC 共享的适当权限的用户帐户。

  • 向文件或文件IIS_IUSRS组授予ApplicationHost.configWeb.config权限。 为此,请按照以下步骤操作:

    1. 在 Windows 资源管理器中,找到包含与网站关联的 ApplicationHost.config 文件的文件夹,或找到包含与网站关联的 Web.config 文件的虚拟目录或应用程序目录。

      备注

      该Web.config文件可能不在虚拟目录或 IIS 中的应用程序目录中。 即使在这种情况下,您也必须遵循这些步骤。

    2. 右键单击包含 ApplicationHost.config 文件的文件夹,或右键单击可能包含该 Web.config 文件的虚拟或应用程序目录。

    3. 选择 "属性"。

    4. 选择"安全" 选项卡,然后选择"编辑 "。

    5. 选择 添加

    6. 在"输入要选择的对象 名称"框中,键入 < computername>\IIS_IUSRS, 选择 "检查 名称",然后选择"确定 "。

      备注

      <Computername>是计算机名称的占位符。

    7. 选中"读取"复选框,然后选择"确定 "。

    8. 在文件夹 的" 属性"对话框中,选择"确定 "。

      备注

      请确保文件夹属性是由 ApplicationHost.config 和 Web.config 继承的,IIS_IUSRS具有这些文件的读取权限。

HRESULT 代码0x800700b7

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x800700b7
HResult 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

如果配置层次结构中较高级别的指定配置节设置存在重复项(例如 (父站点或文件夹) 中的 ApplicationHost.config 或 Web.config 文件,则可能会出现此问题。 错误消息本身指出重复条目的位置。

解决方案

检查指定的配置文件,并将其与父配置文件ApplicationHost.config或 Web.config 文件进行比较,以检查重复条目,如错误消息所建议。 删除重复项,或使条目唯一。 例如,可能会出现此问题,因为ApplicationHost.config文件具有以下代码的重复条目:

<add accessType="Allow" users="*" />

若要解决此问题,请删除授权规则ApplicationHost.config复制条目。 为此,请按照以下步骤操作:

  1. 选择 "开始**",记事本"** 开始搜索"框中键入"搜索",右键单击"记事本",然后选择"以 管理员角色运行"。

    备注

    如果系统提示你输入管理员密码或进行确认,请键入密码,或选择"继续 "。

  2. 在"文件" 菜单上,选择"打开",在"文件名 "\System32\inetsrv\config\applicationHost.config键入 %windir%\System32\inetsrv\config\applicationHost.config, 然后选择"打开 "。

  3. 在ApplicationHost.config文件中,删除类似于以下代码的重复条目:

    <add accessType="Allow" users="*" />
    

HRESULT 代码0x8007007e

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x8007007e
HResult 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

出现此问题的原因是ApplicationHost.config或Web.config文件引用无效或不存在的模块或 DLL。

解决方案

在ApplicationHost.config或Web.config文件中,找到无效的模块引用或 DLL 引用,然后修复该引用。 若要确定哪个模块引用不正确,请启用失败的请求跟踪,然后重现该问题。

HRESULT 代码0x800700c1

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x800700c1
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

如果指定模块的位数与承载应用程序的模块的位值不同,应用程序池出现此问题。 例如,你尝试将 32 位组件加载到 64 位应用程序池。 如果指定的模块已损坏,也可能会出现此问题。

解决方案

确保指定的模块的位度与托管模块的位应用程序池。 此外,请确保模块未损坏。

HRESULT 代码0x8007010b

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x8007010b
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

如果无法访问指定的内容目录,则可能发生此问题。

解决方案

  • 验证文件路径是否存在。
  • 验证文件路径的名称是否正确。
  • 验证文件路径是否设置了正确的文件级别权限。
  • 验证文件路径是否指向有效的文件系统类型。

如果您不确定文件路径是什么,请使用进程监视器或失败的请求跟踪工具进行标识。

HRESULT 代码0x8007052e

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x8007052e
HRESULT 的说明
无法访问请求的页面,因为页面的相关配置数据无效。

原因

IIS 中的默认进程标识没有足够的权限打开远程共享Web.config文件。

解决方案

验证此应用程序池的应用程序的标识帐户是否具有足够的权限来 打开Web.config文件

HRESULT 代码0x80070003

错误消息:

应用程序"应用程序名称"中的服务器错误
HTTP 错误 500.19 – 内部服务器错误
HRESULT:0x80070003
HRESULT 的说明
无法读取配置文件。

原因

此错误由缺少权限或与虚拟目录的路径不匹配的物理路径导致。 例如,web Web.config 根路径下不存在任何内容。

解决方案

  • 验证该 Web.config 路径是否存在并且具有正确的权限集。
  • 收集进程监视器日志,获取有关错误的详细信息。

修复更新窗口时中断 IIS 配置文件问题

作为一般安全规则, (IIS 文件) 安装任何更新之前应进行备份。 如果使用虚拟机,请获取虚拟机的快照,然后再更新虚拟机。 此建议不限于更新Windows更新。