HTTP 错误 500.0 - 打开 IIS 网页时出现内部服务器错误

本文有助于解决访问托管在 IIS 上的网站时出现的 HTTP 500.0 错误。

原始产品版本: Internet 信息服务
原始 KB 编号: 942031

摘要

本文介绍在 Internet Information Services (IIS) Web 应用程序上遇到 500.0 错误时的 HResult 代码。 本文面向网站管理员。 这些错误有许多原因,可能会影响许多不同的系统配置。 本文中所述的过程必须由服务器上管理员组的成员执行。

遇到这些错误的最终用户应将问题通知网站管理员。

HResult 代码

HTTP 错误 500 消息指示在返回错误时托管网站的 Web 服务器上出现了问题。

下面是这些错误的详细信息。

HResult 代码 0x80070032

错误消息:

应用程序“应用程序名称”中的服务器错误
HTTP 错误 500.0 - 内部服务器错误
HRESULT: 0x80070032
HRESULT ISAPI 筛选器drive:\FilePath\ISAPI_FLT.dll尝试注册SF_NOTIFY_READ_RAW_DATA通知的说明。

原因

出现此问题的原因是 IIS 7.0 不支持注册 SF_NOTIFY_READ_RAW_DATA 通知的 Internet Server API (ISAPI) 筛选器。

解决方案

请勿使用在 IIS 中注册 SF_NOTIFY_READ_RAW_DATA 通知的 ISAPI 筛选器。

HResult 代码 0x80070035

错误消息:

应用程序“应用程序名称”中的服务器错误
HTTP 错误 500.0 - 内部服务器错误
HRESULT: 0x80070035
HRESULT 说明 由于发生内部服务器错误,无法显示页面。

原因

出现此问题的原因是运行 IIS 7.0 的服务器无法访问所请求位置的已配置根目录。

解决方案

确保运行 IIS 7.0 的服务器可以访问所请求位置的已配置根目录。

HResult 代码 0x8007000d

错误消息:

应用程序“应用程序名称”中的服务器错误
HTTP 错误 500.0 - 内部服务器错误
HRESULT:0x8007000d
HRESULT 说明 处理程序 "ASPClassic" 在其模块列表中包含错误的模块 "IsapiModule"。

原因

出现此问题的原因是,网站的模块列表中缺少 ISAPIModule 模块。 ISAPIModule 模块位于以下位置: drive:\Windows\System32\inetsrv\isapi.dll

解决方案

将 ISAPIModule 模块添加到网站的模块列表。 为此,请按照下列步骤操作:

  1. 依次单击“开始”、“运行”,键入“inetmgr.exe”,然后单击“确定”
  2. 在 IIS 管理器中,依次展开 <服务器名称>网站,然后单击要修改的网站。
  3. 在“功能”视图中,双击“模块”
  4. 在“操作”窗格中,单击“添加本机模块”
  5. 在“添加本机模块”对话框中,单击以选中“IsapiModule”复选框,然后单击“确定”

HResult 代码 0x800700c1

错误消息:

应用程序“应用程序名称”中的服务器错误
HTTP 错误 500.0 - 内部服务器错误
HRESULT:0x800700c1
对 HResult 的说明由于发生了内部服务器错误,无法显示该页。

原因

出现此问题的原因是脚本映射无效。

解决方案

确保脚本映射指向可处理该请求的 ISAPI.dll 文件。 为此,请按照下列步骤操作:

  1. 依次单击“开始”、“运行”,键入“inetmgr.exe”,然后单击“确定”
  2. 在 IIS 管理器中,依次展开 <服务器名称>网站,然后单击要修改的网站。
  3. 在“功能”视图中,双击“处理程序映射”
  4. 确保脚本映射指向正确的 ISAPI.dll 文件。 例如,.asp 文件应映射到 %windir%\system32\inetsrv\asp.dll 文件。

HResult 代码 0x80070005

错误消息:

应用程序“应用程序名称”中的服务器错误
HTTP 错误 500.0 - 内部服务器错误
HRESULT:0x80070005
对 HResult 的说明对 ISAPI 筛选器“path_of_isapi”的 LoadLibraryEx 失败。

原因

出现此问题的原因是在全局级别或网站级别加载了无效的 ISAPI 筛选器。

解决方案

删除无效的 ISAPI 筛选器。 为此,请按照下列步骤操作:

  1. 依次单击“开始”、“运行”,键入“inetmgr.exe”,然后单击“确定”
  2. 在 IIS 管理器中,依次展开 <服务器名称>网站,然后单击要修改的网站。
  3. 在“功能”视图中,双击“ISAPI 筛选器”
  4. 右键单击要删除的 ISAPI 筛选器,然后单击“删除”

HResult 代码 0x8007007f

HResult 0x8007007f 有两种可能性:

  • 错误消息 1:

    应用程序“应用程序名称”中的服务器错误
    HTTP 错误 500.0 - 内部服务器错误
    HRESULT: 0x8007007f
    对 HRESULT 的说明对 ISAPI 筛选器“path_of_isapi”调用 GetProcAddress 失败。

    原因

    出现此问题的原因是在全局级别或网站级别加载了无效的 ISAPI 筛选器。

    解决方案

    若要解决此问题,请删除无效的 ISAPI 筛选器。 为此,请按照下列步骤操作:

    1. 依次单击“开始”、“运行”,键入“inetmgr.exe”,然后单击“确定”
    2. 在 IIS 管理器中,依次展开 <服务器名称>网站,然后单击要修改的网站。
    3. 在“功能”视图中,双击“ISAPI 筛选器”
    4. 右键单击要删除的 ISAPI 筛选器,然后单击“删除”
  • 错误消息 2:

    应用程序“应用程序名称”中的服务器错误
    HTTP 错误 500.0 - 内部服务器错误
    HRESULT: 0x8007007f
    对 HRESULT 的说明要查找的资源存在问题,因此无法显示。

    原因

    出现此问题的原因是请求资源的处理程序映射指向无法处理该请求的 .dll 文件。

    解决方案

    若要解决此问题,请编辑请求资源的处理程序映射,以指向可处理请求的 .dll 文件。 为此,请按照下列步骤操作:

    1. 依次单击“开始”、“运行”,键入“inetmgr.exe”,然后单击“确定”
    2. 在 IIS 管理器中,依次展开 <服务器名称>网站,然后单击要修改的网站。
    3. 在“功能”视图中,双击“处理程序映射”
    4. 右键单击要编辑的脚本映射,然后单击“编辑”
    5. 在“编辑脚本映射”对话框中,在“可执行文件”框中键入相应的可执行文件,然后单击“确定”
      例如,.asp 文件应映射到 %windir%\system32\inetsrv\asp.dll 文件。

更多信息

对于从 Web 应用程序代码引发的任何异常,检查应用程序事件日志或你自己的应用程序日志,以获取异常类型、异常消息和异常调用堆栈。 如需进一步调试,请使用 DebugDiag 最新版本捕获最可能的异常转储