问题起因:
IIS已经启动但是web无法使用 IE返回500内部错误 记录如下
由于在下列系统 API 错误,COM+ 服务无法初始化。它通常是由本地计算机的系统资源存储问题引起的。 CryptAcquireContext 进程名称: dllhost.exe 该错误的严重性已导致进程终止。 错误代码= 0x80090017 : 提供程序类型未被定义。 COM+ 服务内部信息: 文件: .\security.cpp, 行: 615
服务器 {3D14228D-FBE1-11D0-995D-00C04FD919C1} 没有在限定的时间内用 DCOM 注册。
服务器未能转入应用程序 '/LM/W3SVC/1/ROOT/webmail'。错误是 '服务器运行失败 '。 若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。
答:
IIS 500内部错误之解决办法(一.错误表现) 沧海笑一声 发表于 9/10/2001 8:17:09 AM NT世界 ←返回版面
一.错误表现 这个错误发生时总会有三方面的表现:一是IE中的最直接的表现,也是最让人看不懂的表现;二是安全日志中的表现,IWAM_Machine账号登录失败;三是系统日志中的表现,IIS Out-Of-Process Pooled Applications应用程序因启动账号的错误而不能够启动.从而造成ASP页面浏览错误.
(一)IE中的表现
当浏览以前能够正常运行的asp页面时会出现如下的错误:
(1) 网页无法显示 您要访问的网页存在问题,因此无法显示。
---------------------------------------------
请尝试下列操作:
打开 http://127.0.0.1 主页,寻找指向所需信息的链接。 单击刷新按钮,或者以后重试。
HTTP 500 - 内部服务器错误 Internet 信息服务
--------------------------------------------------------------------------------
技术信息(支持个人)
详细信息: Microsoft 支持
[注意,这儿只是500错误,不是500.xx等错误的,那些错误主要是asp编程问题,与iis没有太大的关系,只有500错误是由iis自身造成的]
(2) Server Application Error The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.
(二)安全日志记录(2条) 事件类型: 失败审核 事件来源: Security 事件种类: 登录/注销 事件 ID: 529 日期: 2001-9-9 事件: 11:17:07 用户: NT AUTHORITY\SYSTEM 计算机: MYSERVER 描述: 登录失败: 原因: 用户名未知或密码错误 用户名: IWAM_MYSERVER 域: MYDOM 登录类型: 4 登录过程: Advapi 身份验证程序包: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 工作站名: MYSERVER
事件类型: 失败审核 事件来源: Security 事件种类: 帐户登录 事件 ID: 681 日期: 2001-9-9 事件: 11:17:07 用户: NT AUTHORITY\SYSTEM 计算机: MYSERVER 描述: 登录到帐户: IWAM_MYSERVER 登录的用户: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 从工作站: MYSERVER 未成功。错误代码是: 3221225578
注:IWAM_MYSERVER,启动进程之外的应用程序的 Internet 信息服务的内置帐号,安装IIS时自动建立,其密码由IIS控制.
(三)系统日志中的记录(2条) 事件类型: 错误 事件来源: DCOM 事件种类: 无 事件 ID: 10004 日期: 2001-9-9 事件: 11:20:26 用户: N/A 计算机: MYSERVER 描述: DCOM 遇到错误“无法更新密码。提供给新密码的值包含密码中不允许的值。 ”并且无法登录到 .\IWAM_MYSERVER 上以运行服务器: {3D14228D-FBE1-11D0-995D-00C04FD919C1}
事件类型: 警告 事件来源: W3SVC 事件种类: 无 事件 ID: 36 日期: 2001-9-9 事件: 11:20:26 用户: N/A 计算机: MYSERVER 描述: 服务器未能转入应用程序 '/LM/W3SVC/4/Root'。错误是 'RunAs 的格式必须是<域名>\<用户名>或只是<用户名> '。 若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。
注:3D14228D-FBE1-11D0-995D-00C04FD919C1}实际是IIS Out-Of-Process Pooled Applications 的KEY.也就是代表IIS Out-Of-Process Pooled Applications. ================================ IIS 500内部错误之解决办法(二.错误原因与解决办法) 沧海笑一声 发表于 9/10/2001 8:40:41 AM NT世界 ←返回版面
出现IIS 500内部错误的原因有多个,但最主要的原因是IWAM_MACHINE账号在Active Directory(或SAM),IIS的metabase数据库与COM+组件中的密码不匹配不同步最成的.因此解决问题的关键在于使这三方的密码同步起来. 要使这三方的密码同步,有几种办法,下面只介绍最好用的一种,使用IIS自带的脚本进行密码同步(看来微软早就知道这方面的问题了,因此专门做了一个密码同步的脚本.:)):
操作如下: 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程序应该能够正常浏览了.
|