这几天公司的本本上的IIS出问题了,总是打不开Asp页面,而Html页面却能正常显示~重装了IIS也不管用,无奈之下,在网上搜索解决的办法,终于找到了,照上上面的方法总算把问题解决了:)
一、发生缘由:
由用户方面报告故障,说是该站点上所有的
ASP
页面均不能访问。
二、初步处理:
1
、由于以前遇到类似情况,一般是重新启动计算机即可,但此次启动无效;
2
、由于屏幕显示日志文件已满,而且以前也出现过由于日志文件已满而导致
IIS
部分非正常运行,故考虑用
Admin
密码进入系统,清空日志文件的方法来解决该问题;
3
、出现异常,系统管理员密码不正确,怀疑可能有两点:
(1)
、由于时间过长,
Admin
密码忘记;
(2)
、由于黑软后门等恶意程序导致
Admin
密码被修改;
4
、处理解决办法如下:
由于该系统仍采用
FAT32
分区,故用
98
启动盘启动计算机,找到
SAM
文件,进行删除,然后进入系统进行清空日志文件操作;
进行上述操作后,发现该
WEB
站点上的静态页面有效,而
ASP
仍然是错误,错误显示如下:
网页无法显示
您要访问的网页存在问题,因此无法显示。
请尝试下列操作:
打开
http://www.******.com
主页,寻找指向所需信息的链接。
单击刷新按钮,或者以后重试。
http 500 -
内部服务器错误
internet
信息服务
技术信息(支持个人)
详细信息:
microsoft
支持
三、进一步分析:
无法判断故障原因,搜索网上相关内容,找到一篇关于
IIS
下不支持
ASP
的解决方案文章;
经研究分析,判断故障现象基本类似,原因分析为:主要是由于
IWAM
帐号
IWAM_Myserver
的密码错误造成了
HTTP 500
内部错误。
相应的解决办法为:统一
active directory
、
IIS metabase
数据库和
COM+
应用程序中的密码。相应操作该文章上有详细介绍。
查看日志文件,与文章上所描述的现象并不完全一致,本计算机并未有域的设置。
系统日志具体描述如下:
2003-8-23 17:42:59 DCOM
错误
无
10010 NT AUTHORITY/SYSTEM Myserver
服务器
{3D14228D-FBE1-11D0-995D-00C04FD919C1}
没有在限定的时间内用
DCOM
注册。
2003-8-23 17:42:59 W3SVC
警告
无
36 N/A Myserver
服务器未能转入应用程序
'/LM/W3SVC/1/Root'
。错误是
'
服务器运行失败
'
。
若要获取关于此消息的更多的信息,请访问
Microsoft
联机支持站点
: http://www.microsoft.com/contentredirect.asp
。
应用程序日志具体描述如下:
2003-8-23 17:55:28 COM+
错误
管理
4205 N/A Myserver
由于在下列系统
API
错误,
COM+
服务无
法初始化。它通常是由本地计算机的系统资源存储问题引起的。
CryptAcquireContext
进程名称
: dllhost.exe
该错误的严重性已导致进程终止。
错误代码
= 0x80090017 :
提供程序类型未被定义。
COM+
服务内部信息
:
文件
: ./security.cpp
,
行
: 617
而并未有文章上所描述的
“
用户名未知或密码错误
”
之类的信息日志;
但基本判断也属于该类型故障。
按照文章上所写操作一步一步执行,但发现并未奏效,不知问题出在何处。
按照最后提示:把
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> csript 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
表信息以获得管理员权限。而不要删除该文件。