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

 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了吧。

 

你可能感兴趣的:(IIS5的HTTP 500内部服务器错误的解决方法)