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程序应该能够正常浏览了.
先生/小姐,您好! 首先我们需要明白IIS 500错误的原因,只有知道了原因,我们才能够对症下药,解决问题。很多朋友在遇到问题后就非常的郁闷,稀里糊涂的乱搞一通,结果还是搞不定,这样不仅仅打击自己的自信心也会让自己养成浮躁的心理是非常不好的。下面我们来简要介绍如何彻底解决IIS500错误。 建议在执行以下操作时先将IIS卸载,然后重启计算机,再将IIS安装. 在计算机桌面选择 “开始”→“运行”→输入“cmd”→"确定", 先启动MSDTC服务,启动方法是输入net start msdtc 回车 如果结果显示“Distributed Transaction Coordinator 服务不能启动”, 解决方法 :把 C:\WINDOWS\system32\dtclog 这个目录重命名(如果有的话,没有的话就不必了) 然后重新建立该目录即dtclog目录。接着在命令行下:msdtc -resetlog 回车 再输入命令 net start msdtc ,显示服务启动成功了,CMD窗口即那个黑色窗口不用关闭,还有用. 然后右键 "我的电脑"--"管理"--"本地用户和组",给“IUSR_机器名”和“IWAM_机器名”两个用户设置密码:111 (我这里都设的111,自己喜欢设什么都行,但两个密码要相同) 接着在CMD窗口中执行以下命令:%SystemDrive% 回车 cd %SystemDrive%\Inetpub\AdminScripts 回车 cscript.exe adsutil.vbs set w3svc/wamuserpass 111 回车(和之前在本地用户组中设置的密码相同,我这里是111) cscript.exe adsutil.vbs set w3svc/anonymoususerpass 111 回车(和之前在本地用户组中设置的密码相同,我这里是111) 打开IE,输入http://localhost/看一下可不可以打开,如果还不行,那么接着执行以下命令:cscript.exe synciwam.vbs -v 回车 iisreset 回车,到这一步还是不行,最后执行以下命令: cd %SystemRoot%\System32\inetsrv 回车 rundll32 wamreg.dll, CreateIISPackage 回车 regsvr32 asptxn.dll 回车,关闭所有的IE窗口后重新打开http://localhost/. 如果上面操作结束还是不可以的话,你看一下你的那个有没有弹出连接成功的提示。如果有即可了,重启计算机,然后访问你的localhost看看。你是xp sp3。应该安装iis5.1。我这里有安装包。如果你用的就是IIS5.1的组件,那你不用管提示,直接点击“取消”,等安装完成之后。会出现500错误。你再按照下面的方法操作一下,就可以正常使用IIS了。我之前也是遇过,你按我下面的操作可以解决. 先启动MSDTC服务,什么是MSDTC服务?显示名称:Distributed Transaction Coordinator;描述:协调跨多个数据库、消息队列、文件系统等资源管理器的事务。如果停止此服务,则不会发生这些事务。如果禁用此服务,显式依赖此服务的其他服务将无法启动。 CMD下net start msdtc 结果显示“Distributed Transaction Coordinator 服务不能启动”。 解决方法: 把 C:\WINDOWS\system32\dtclog 这个目录重命名(如果有的话,没有就直接省去这一步),然后重新建立该目录。 在命令行下:msdtc -resetlog 再net start msdtc,显示服务启动成功了. 然后右键我的电脑--管理--本地用户和组,给“IUSR_机器名”和“IWAM_机器名”两个用户设置密码,要一样比如我们都设:123。 接着“开始”→“运行”→输入“cmd”并确定,执行以下命令: %SystemDrive% cd %SystemDrive%\Inetpub\AdminScripts cscript.exe adsutil.vbs set w3svc/wamuserpass 123 cscript.exe adsutil.vbs set w3svc/anonymoususerpass 123 看一下,行了没有?如果还不行,那么执行以下命令: cscript.exe synciwam.vbs -v 然后重启IIS,命令:iisreset 到这一步还是不行,最后在CMD下执行以下命令: %SystemDrive% cd %SystemRoot%\System32\inetsrv rundll32 wamreg.dll, CreateIISPackage regsvr32 asptxn.dll 关闭所有的IE窗口后重新打开再执行,OK了!!