您的位置:首页 > 理论基础 > 计算机网络

IIS5的HTTP 500内部服务器错误的解决方法

2007-12-14 11:43 627 查看
IIS5的HTTP 500内部服务器错误是我们经常碰到的错误之一,它的主要错误表现就是ASP程序不能浏览但HTM静态网页不受影响。另外当错误发生时,系统事件日志和安全事件日志都会有相应的记录。

将Internet选项中-->高级-->去掉“显示友好HTTP错误信息”前的勾,在打开“http://localhost”时会出现以下错误:

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.
原因:IUSR_计算机名 和 IWAM_计算机名 帐户的用户名和密码所存储的三个位置未能同步!

解决方法:

1.停止所有IIS服务:

在服务里停止 IIS Admin服务就基本可以了。(运行 services.msc,在服务中停止IIS Admin即可)。这步很重要的。如果不进行这步操作,可能会出现错误。本人就曾经几次都没有进行这步操作,结果都不行。

2.设置IWAM_****帐号和IUSER_****帐号的密码同步。

右键单击 我的电脑---->管理,打开计算机管理界面
打开 本地用户和组---->用户
右键单击 启动IIS进程帐号IWAM_****(注:****一般是计算机名)
点击设置密码,设置为一个你想要的密码。
用同样的方法设置帐号 IUSER_****的密码。(一定要与上面的密码相同)

3. 同步IIS 配置数据库密码:

(1)开始--->程序--->附件 打开命令提示符
输入cd c:/inetpub/adminscripts (如果IIS不是装在c:/inetpub就要根据实际情况输入了)

(2)修改密码:
先后输入如下命令修改IUSER和IWAM帐号的
修改 IWAM 帐户密码 cscript.exe adsutil.vbs set w3svc/wamuserpass "password" //password为设置的密码

修改 IUSR 帐户密码 cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password"

(将以上命令中的set改为get,去掉后面的“password”就可以查看帐号的密码。
在WIN2000中,查看到的密码为星号,若要不为星号,必须要先修改adsutil.vbs 文件。
修改方法:
a.到c盘 inetpub/adminscripts找到adsutil.vbs (根据装系统时设定的不同,有的路径可能不一样)
b.右键单击,用记事本打开
c.查找 IsSecureProperty = True注意=前后各有一个空格
d.将 IsSecureProperty = True 改为 IsSecureProperty = False
e.保存,关闭,OK。


(3)更改组件服务中的密码
开始--->程序--->附件 打开命令提示符
先输入cd c:/inetpub/adminscripts

然后输入cscript.exe synciwam.vbs -v
系统会有以下提示:

microsoft (r) windows script host version 5.6

版权所有(c) microsoft corporation 1996-2000。保留所有权利。

iis applications defined:
name, appisolated, package id
w3svc, 0, {3d14228c-fbe1-11d0-995d-00c04fd919c1}
root, 2,
iishelp, 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-00c04fd919c1}
4.重启IIS,OK。

当发现最后一步的结果不是“updating applications........”而是Error: 8004E00F:,并且IIS还是无法正常工作时,可以尝试以下方法。

执行synciwam.vbs -v的时候出现Error: 8004E00F错误
可以参考下面

同步密码时出现如下错误:

C:/Inetpub/AdminScripts>synciwam.vbs -v
IIS Applications Defined:
Name, AppIsolated, Package ID
ROOT, 2,
IISHelp, 2,

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

Error: 8004E00F:
C:/Inetpub/AdminScripts>

解决办法:
1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,若报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象。那就再继续看下面
2、进入事件查看器,看msdtc服务是否正常启动。(应该是没有)
3、删除注册表中的键:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
HKEY_CLASSES_ROOT/CID
(全部删除,呵呵,不要害怕哦...注册表不可怕)
4、还有那就是卸载IIS,然后重新装上去。呵呵,搞定!!!

方法2:
如果是这样还是不行!
哦,上帝!那只能把应用程序保护降低到:低(IIS进程)
具体步骤:打开Internet 信息服务 -> 默认网站 -> 属性 -> 主目录 -> 应用程序保护::低(IIS进程) 这样总OK了吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: