导航

狮子的网志

狮子的网志 - 对区域经济、区域网站、社区运营、互动营销感兴趣。

« 【新闻】Skype赠送新用户10分钟话费了!抽支烟来暖心 »

HTTP 500 内部服务器错误 之 解决方法.

本来向来喜欢在网上查找解决方法.. 一通乱找.. 参考了几篇.问题总算是得到了解决:

主要有以下蓝色文章的帮助! 该文章出自:赛迪网社区贴子 http://bbs.ccidnet.com/showthread.php?threadid=141275下面蓝色部分为全文转贴:

初步处理:
试着进入IISHELP网页,也再现HTTP 500 错误,无法判断故障原因,搜索网上相关内容,找到一篇关于IIS下不支持ASP的解决方案文章;
经研究分析,判断故障现象基本类似,原因分析为:主要是由于IWAM帐号IWAM_Myserver的密码错误造

成了HTTP 500内部错误。
相应的解决办法为:统一active directory、IIS metabase数据库和COM+应用程序中的密码。相应操

作该文章上有详细介绍。

查看日志文件,与文章上所描述的现象并不完全一致,本计算机并未有域的设置。
系统日志具体描述如下:

系统日志中事件:
事件1:
事件类型: 错误
事件来源: DCOM
事件种类: 无
事件 ID: 10010
日期: 2004-11-17
事件: 17:23:04
用户: NT AUTHORITY\SYSTEM
计算机: ZY-BGL-FWQ
描述:
服务器 {3D14228D-FBE1-11D0-995D-00C04FD919C1} 没有在限定的时间内用 DCOM 注册。
————————————————————————
事件2:
事件类型: 警告
事件来源: W3SVC
事件种类: 无
事件 ID: 36
日期: 2004-11-17
事件: 17:23:04
用户: N/A
计算机: ZY-BGL-FWQ
描述:
服务器未能转入应用程序 '/LM/W3SVC/1/ROOT/IISHELP'。错误是 '服务器运行失败
'。
若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。
—————————————————————————
在应用程序日志中也有两个事件:
事件1:
事件类型: 错误
事件来源: COM+
事件种类: 管理
事件 ID: 4205
日期: 2004-11-17
事件: 17:23:04
用户: N/A
计算机: ZY-BGL-FWQ
描述:
由于在下列系统 API 错误,COM+ 服务无法初始化。它通常是由本地计算机的系统资源存储问题引起的。
CryptAcquireContext
进程名称: dllhost.exe
该错误的严重性已导致进程终止。
错误代码= 0x80090017 : 提供程序类型未被定义。
COM+ 服务内部信息:
文件: .\security.cpp, 行: 617
—————————————————————————
事件2:
事件类型: 错误
事件来源: COM+
事件种类: SVC
事件 ID: 4097
日期: 2004-11-17
事件: 17:23:04
用户: N/A
计算机: ZY-BGL-FWQ
描述:
运行时环境在其内部状态检测到不一致。请向 Microsoft 产品支持服务部门报告此错误。*** Error in __FILE__(926): Application image dump failed.

而并未有文章上所描述的“用户名未知或密码错误”之类的信息日志;
但基本判断也属于该类型故障。
按照文章上所写操作一步一步执行,但发现并未奏效,不知问题出在何处。
按照最后提示:把IIS中的“应用程序保护”设置为“低”,再重置IIS,新的问题又出现了,站点上的某

些ASP能够显示,但某些ASP页面又不

能显示,而ASP聊天室的页面能打开,但显示为“打开数据库失败或错误”;
但若把IIS中的“应用程序保护”设置为“中”,则任何ASP页面都无法打开;
无语,实在不行,采取文章上所述最后一个办法:重装IIS,步骤如下:先卸载,再打SP3(我打的是SP4

),再重装。
重新配置启动IIS,发觉故障现象依旧如故。

经高人指点,问题根源并非如此,经仔细询问情况,发现曾经删除过SAM(这一现象前面一直没能引起注

意)SAM文件是保存用户密码的数据库

文件,删除后,所有的用户信息就会丢失,而相应的组信息也会随之丢失,虽然重新登录过系统,系统已

经重新建立了SAM文件,也重新安装了

IIS,IWAM帐号也已经重新建立,但是,原用户组中的特殊信息却没有被恢复。从这里着手。检查“开始

”->“设置”->“控制面板”->“管理

工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用

程序”中,有一个IIS

Out-Of-Process Pooled

Applications该应用程序的ID号即为{3D14228D-FBE1-11D0-995D-00C04FD919C1},很多系统报错找不到应

用程序{3D14228D-FBE1-11D0-995D-00

C04FD919C1}之类的错误,就是因为该应用程序未能启动,打开该应用程序的属性,检查标识却为IWAM用

户,右键启动,报错。改为管理员后,

可正常启动。把IWAM加入本地管理员组中,也可正常启动。确定是因为IWAM用户无权访问该应用程序所致



提出具体解决办法如下:
1、修改IWAM_Myserver帐号密码,在“开始”->“设置”->“控制面板”->“管理工具”->“计算机管理

”中,“系统工具”->“本地用户和

组”->“用户”里面,一个IWAM_Myserver(Myserver为本地计算机名)的帐号内,右键更改密码,更改

为一个自定义的密码即可,我们这里假

设为“000000”;
2、修改IIS内部IWAM_Myserver帐号密码,在c:\inetpub\adminscripts\目录下(IIS安装默认目录),输

入:c:\inetpub\adminscripts>

cscript adsutil.vbs set w3svc/wamuserpass "000000"
(此处“0”表示用户自定义的密码)
修改成功后,系统有如下提示:
wamuserpass: (string) "******"
3、同步com+应用程序所用的IWAM_Myserver的密码,原技术文章上所叙述的办法有两种,我这里采用的为

第二种,即“使用IWAM帐号同步脚本s

ynciwam.vbs”
也就是在c:\inetpub\adminscripts目录下(默认目录)输入:
c:\inetpub\adminscripts> cscript synciwam.vbs -v
前面都很顺利,但在“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根

目录”->“组件服务”->“计算机”-

>“我的电脑”->“COM+应用程序”中,右键启动IIS Out-Of-Process Pooled Applications,发现仍然

报错,没办法重启IIS,发现问题现象

依旧如故,检查上面第三个步骤,输入csript synciwam.vbs -v命令后,返回的脚本执行情况其中最后一

段有一个Error的提示。一段英文,具

体文字描述未能保存下来,意思理解为:IIS的原数据库拒绝访问。
4、万般无奈,删除IIS的组件包,重新建立之,仍然无效。

至此又出现问题了。

查看应用程序日志和系统日志,发现错误提示事件ID号依旧为:10010、36、4205
上述的三个步骤中,前面两步应该都没有问题,最后一步好象有点问题。
根据事件ID号,查找相关资料,找出解决办法如下:
在“开始”->“设置”->“控制面板”->“管理工具”->“计算机管理”中,“系统工具”->“本地用户

和组”->“用户”里面,确认IWAM_My

server用户只在GUEST组内,再在“本地用户和组”->“组”里面,右键点击Users组属性,添加进NT

AUTHORITY\Authenticated Users和NT

AUTHORITY\Interactive两个用户成员,确定。

重复第三个步骤,即在IIS安装默认目录下输入:c:\inetpub\adminscripts> csript synciwam.vbs -v
根据返回的脚本执行情况进行查看,最后那一段的Error已经没有了,将COM+程序的用户改回为IWAM用户

,重新启动IIS Out-Of-Process

Pooled Applications应用程序,没有再报错了,再重启IIS,检查所有WEB站点服务,故障现象解除!

也就是说到了这一步IIS下面的ASP程序才正式恢复重新启动。
至此,故障现象全部排除!

因此,以下几点需要注意的:
1、事件日志的空间设置稍微放大一些,默认才512K,根据硬盘空间,适当放大一些,避免出现日志文件已满的情况;
2、不要随便轻易清空事件日志中的事件记录,很多故障现象需要从这个里面下手找原因;
3、所有返回的系统提示信息一定要注意仔细查看;
4、IIS中的应用程序保护应为中或高,如为低,则所有ASP页面均以本地系统权限运行,安全性存在问题。
5、COM+程序的用户权限和用户启动权限很重要,应注意检查。
6、系统默认组有时有重要作用,不能轻易删除或修改。
7、系统重要文件(如SAM)不可轻易删除,应尽可能采取妥善的解决方法。如使用外部程序修改注册表或SAM表信息以获得管理员权限。而不要删除该文件。

通过这个问题,偶发现一些看似复杂和不可思议的问题,只要动脑筋,通过仔细查看、分析,再到网上找到一些有关的文章加以对比——但也切忌死搬硬套——找到自己问题的根结所在,再找出相应的解决办法,问题最终总会迎刃而解。


所以我强烈建议那些爱问问题的朋友在问之前先问努力尝试查找文档
  • 相关文章:
  • quote 1.0111
  • 操作如下:
    1.在本地账号管理器或AD用户与计算机中更改IWAM_MACHINE账号的密码.假设我们改为"12345678".[本来这个账号是计算机控制的,非常复杂].
    2.使用新的密码重设IIS Metabase数据库.我们需要使用IIS自带的管理脚本adsutil.运行如下的命令:
    c:\Inetpub\AdminScripts> adsutil SET w3svc/WAMUserPass 12345678

    系统会显示:
    WAMUserPass: (String) "12345678"

    提示密码更新成功.

    通常情况下IIS会自动与系统账号等信息同步,但我发现我的机器上ISUR_MACHINE是同步的,但IWAM_MACHINE总是不同步,因此只好自行修改了.

    3.同步COM+账号密码
    同样我们要用到IIS的管理脚本synciwam.vbs,这个脚本通常会存在于c:\inetpub\adminscripts下,上一个管理脚本也在这儿放着.
    命令如下:
    cscript c:\inetpub\adminscripts\synciwam.vbs -v

    -v参数是打开详细模式,让我们看到更新的过程,通常会如下显示:

    Microsoft (R) Windows Script Host Version 5.6
    版权所有(C) Microsoft Corporation 1996-2000。保留所有权利。

    WamUserNameIWAM_MYSERVER
    WamUserPass12345678
    IIS Applications Defined:
    Name, AppIsolated, Package ID
    w3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}
    Root, 2,
    IISHelp, 2,
    IISAdmin, 2,
    IISSamples, 2,
    MSADC, 2,
    ROOT, 2,
    IISAdmin, 2,
    IISHelp, 2,
    Root, 2,
    Root, 2,

    Out of process applications defined:
    Count: 1
    {3D14228D-FBE1-11d0-995D-00C04FD919C1}

    Updating Applications:
    Name: IIS Out-Of-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04
    FD919C1}

    密码同步成功.如果不成功先看一下这个脚本取的IIS的密码正确不正确,如果不正确请重复第二步同步IIS密码.

    问题解闷,再打开IIS看看,ASP程序应该能够正常浏览了.
  • 2005-9-12 22:37:22 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from Google黑板报 By Washun

工业和信息化部备案编号:湘ICP备10024609号-23. Copyright © 2003-2011 狮子的网志. Some Rights Reserved.

Search

控制面板

网站分类

最新评论及回复

最近发表