admin 管理员组

文章数量: 1184232

如何解决与 “HTTP 500 - Internal Server Error” HTTP 500 – 内部服务器错误)错误信息有关的问题

概要

以下错误信息表明,返回错误时承载网站的 Web 服务器出现问题:

HTTP 500 - Internal Server Error

本文介绍如何排除这些错误。本文主要面向网站管理员。这些错误产生的原因很多,并且可影响许多不同的系统配置。本文所述步骤必须由服务器上管理员组的成员执行。

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

尝试加载 Localstart.asp 文件时


当网站的一个默认文档 Iisstart.asp 尝试加载 Localstart.asp 文件时,如果尝试访问此页面的用户不具有运行 Localstart.asp 文件中包含的脚本的正确权限,您会收到 HTTP 500 错误信息。如果清除 显示友好 HTTP 错误信息 复选框,将看到与下面的 HTTP 500 错误信息类似的信息:

Error Type:
Microsoft VBScript runtime (0x 800A 0046)
Permission denied:'GetObject'
/localstart.asp, line 19

出现此问题的原因是, Localstart.asp 文件中包含了使用 IIS Admin 对象访问元数据库的 Active Directory 服务接口 (ADSI) Visual Basic Scripting Edition (VBScript) 代码。出于安全考虑,只有本地 Administrators 组的成员才能访问元数据库。这种现象是设计导致的。

要解决此问题,请按照下列步骤操作:

1.

单击 开始 ,指向 程序 ,指向 管理工具 ,然后单击 Internet 信息服务

2.

在控制台树中,单击 默认网站 。在显示窗格中,右键单击 Localstart.asp ,然后单击 属性

3.

文件安全 选项卡的 匿名访问和身份验证控制 中,单击 编辑

4.

身份验证方法 属性页中,单击以清除 匿名访问

浏览 ASP 页面时

当您浏览 Active Server Pages (ASP) 网页时,会收到 “HTTP 500.100 - Internal Server Error - ASP error” 错误信息。如果清除 显示友好 HTTP 错误信息 复选框,将在 技术信息(用于支持人员) 部分看到类似下面这样的信息:

Error Type:
Microsoft VBScript runtime (0x 800A 01F 4)
Variable is undefined:'x'
/OptionExplicitError.asp, line 9

Page:
GET /OptionExplicitError.asp

要解决此问题,请删除 Option Explicit 语句,或者使用 DIM 关键字声明变量。

要重现此问题,请在允许执行脚本的虚拟目录中运行包含以下代码的 ASP 文件:

<% Option Explicit %> <HTML> <HEAD> <TITLE>500-100 Undeclared Variable</TITLE> </HEAD> <BODY> <P>About to use an undeclared variable</P> <% x = 5 %> </B></P> </BODY> </HTML>

要修改此示例,请使用 DIM 语句声明 X 变量,如下所示:

<% Option Explicit %> <HTML> <HEAD> <TITLE>500-100 Undeclared Variable</TITLE> </HEAD> <BODY> <P>About to use an undeclared variable</P> <% DIM x x = 5 %> </B></P> </BODY> </HTML>

IIS 5.0 返回 Server.GetLastError 错误信息时

当某个 Web 应用程序或页面不可用时, IIS 会返回一个错误信息。其结果是自定义的 ASP 页面处理对服务器端脚本错误的响应。此页面返回状态 “500 Internal Server Error” ,这导致客户端远程脚本小程序不向远程脚本对象返回任何数据。

要解决此问题,请创建一个返回状态 “200 OK” 的自定义错误页面,然后在远程脚本服务器页面或应用程序的 自定义错误 部分引用此页面。为此,请按照下列步骤操作:

注意 :可以为各个页面、整个应用程序或者整个网站或 Web 服务器设置此自定义错误页面。

1.

创建 %SystemRoot%/WinNT/Help/IISHelp/Common/500-100.asp 的副本,并将它存储在与原始文件相同的文件夹中。将新文件命名为 500-100-OK.asp

2.

单击 开始 ,指向 程序 ,指向 附件 ,然后单击 记事本

3.

在记事本中,单击 文件 菜单上的 打开 。在 查找范围 下拉框中,浏览到 500-100-OK.asp 文件,然后单击 打开

4.

将下面的代码

Response.Status = "500 Internal Server Error"

替换为:

Response.Status = "200 OK"

注意 :如果以前没修改过错误信息,则代码的原始行为第 12 行。

5.

文件 菜单中,单击 保存

6.

Internet 服务管理器的控制台树中,单击您的 Web 服务器。如果您的远程脚本 ASP 页面位于其中一个网站下的 Web 应用程序中,则展开您的 Web 应用程序。

7.

详细信息 窗格中,右键单击您的远程脚本服务器 ASP 页面,然后单击 属性

8.

单击 自定义错误 。在列表中,查找 500;100 的项。默认情况下,该项被设置为一个 URL 并引用 Help/Common/500-100.asp 。单击 编辑属性

9.

修改路径,使其指向 /IISHelp/Common/500-100-OK.asp ,单击 确定 ,然后再次单击 确定

Alpha UNIX 上的文件分配类别时

Alpha UNIX 上的文件分配类别时,会收到一个 HTTP 500 错误信息。

要解决此问题,请安装 Microsoft Office 2000 Service Release 1 (SR-1) Service Release 1a (SR -1a ) 。要下载 Office 2000 SR-1 ,请参见下面的 Microsoft 网站:

()

500-100.asp 文件用于非默认网站上的错误处理时

500-100.asp 文件用于非默认网站上的错误处理时,会收到一个 HTTP 500 错误信息。

要解决此问题,请按照下列步骤操作:

1.

“Internet 信息服务 管理单元的控制台树中,右键单击相应的网站,单击 新建 ,然后单击 虚拟目录

2.

虚拟目录创建向导 中,单击 下一步 。在 别名 文本框中,键入 IISHelp ,然后单击 下一步

3.

当提示您输入内容文件夹的路径时,单击 浏览 ,选择 WINNT/Help/IisHelp 文件夹,然后单击 下一步

4.

访问权限 页面中,接受所有默认值,单击 下一步 ,然后单击 完成

5.

再次右键单击网站,然后单击 属性

6.

自定义错误 选项卡中,选择 "500;100" 错误行,然后单击 编辑属性

7.

信息类型 列表框的 URL 文本框中,键入 /iisHelp/common/500-100.asp

8.

单击 确定 ,然后再次单击 确定

在索引服务器中执行查询时

单击 开始 在索引服务器中执行查询时,可能会收到一个 HTTP 500 错误信息。

出现此错误的原因是,没有为包含查询页面的文件夹定义默认的应用程序起始点。

要解决此问题,请按照下列步骤操作:

1.

“Internet 信息服务 管理单元的控制台树中,右键单击包含查询页面的站点的根目录,然后单击 属性

2.

主目录 选项卡中,单击 创建

3.

单击 确定 ,然后重试查询。

ASP 页面中访问提供程序时

如果清除了 显示友好 HTTP 错误信息 复选框,当您尝试从 ASP 页面中访问提供程序时,可能会收到以下错误信息:

ADODB.Connection (0x 800A 0E 7A ) Provider cannot be found.It may not be properly installed./Nwind.asp, line 10

出现此错误的原因是, Microsoft 数据访问组件 (MDAC) 所需的动态链接库 (DLL) 尚未注册。

1.

单击 开始 ,单击 运行 ,然后键入 cmd

2.

在命令提示符下,键入 cd %systemroot%:/Program Files/Common Files/System/Ole

3.

在命令提示符下,键入 regsvr32 sqloledb.dll

4.

收到 DLL 成功注册的确认后,单击 确定 注意 :此解决方案使用了 Microsoft SQL Server OLE Provider DLL (Sqloledb.dll) 作为示例。由于未注册的 DLL 可能会因使用的 OLE DB 提供程序而异,所以您必须根据具体情况修改步骤 2

IIS 5.0 上设置 COM+ 应用程序标识时

当您尝试在 IIS 5.0 上设置 COM+ 应用程序标识时,会收到一个 HTTP 500 错误信息。

COM+ 应用程序或 Microsoft Transaction Server (MTS) 程序包的标识被配置为 交互式用户 - 当前已登录的用户 时,会出现此问题。由于当前没有用户登录到 IIS 控制台,所以应用程序无法运行。

要解决此问题,请将 COM+ 应用程序或 MTS 程序包的标识设置为 此用户 ,然后指定一个用户帐户。为此,请按照下列步骤操作:

1.

单击 开始 ,指向 程序 ,指向 管理工具 ,然后单击 组件服务

2.

在控制台树中,依次展开 组件服务 计算机 我的电脑 COM+ 应用程序 。查找希望更改其标识的应用程序。

3.

右键单击相应的 COM+ 应用程序,然后单击 属性

4.

标识 选项卡中,单击 此用户 ,键入一个有效的计算机帐户,然后单击 确定

IIS 4.0 上设置 MTS 应用程序标识时

当您在 IIS 4.0 上设置 MTS 程序标识时,会收到一个 HTTP 500 错误信息。

要解决此问题,请按照下列步骤操作:

1.

“Internet 信息服务 管理单元中,依次展开 计算机 我的电脑 Microsoft Transaction Server 。查找希望更改其标识的程序包。应用程序列在 已安装的应用程序包 文件夹中。

2.

右键单击该程序包,然后单击 属性

3.

标识 选项卡中,单击 此用户 ,键入一个有效的帐户,然后单击 应用

IIS 4.0 在自己的内存空间中运行时

如果满足以下任一条件,就会收到 HTTP 500 错误信息:

IIS 4.0 的默认网站作为一个独立的进程在自己的内存空间中运行。

Microsoft Internet Explorer 被配置为在 Proxy Server 2.0 上使用 Web 代理服务器。

BackOffice Small Business Server 4.5 版上的 Internet Explorer 被配置为使用代理服务器,并且启用了代理服务器数据包筛选。

要解决此问题,请按照下列步骤操作:

1.

单击 开始 ,指向 程序 ,单击 Microsoft Proxy Server ,然后单击 Microsoft 管理控制台

2.

在控制台树中,展开 Internet Information Server 文件夹,然后展开服务器对象。

3.

右键单击 默认网站 ,然后单击 属性

4.

主目录 选项卡中,找到 应用程序设置 区域,然后单击以清除 在单独的内存空间运行(独立进程)

5.

单击 应用 ,然后单击 确定

6.

右键单击 默认网站 ,然后单击 停止

7.

右键单击 默认网站 ,然后单击 启动




参考

有关 显示友好 HTTP 错误信息 选项的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

() 超文本传输协议错误信息说明

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

() 如何获得并安装 Microsoft Office 2000 SR-1/SR -1a 更新

这篇文章中的信息适用于 :

Microsoft Internet Information Server 4.0

Microsoft Internet Information Services 5.0

本文标签: 单击 系统 编程