如何彻底解决IIS中HTTP500错误

2008.11.09 / 00:15 / Tags: , ,
大家在用IIS很多人遇到HTTP500错误,主要是在运行ASP语音程序的时候出现的,在网上搜索解决办法也都是千篇一律:全是一样的,连错别字都没改。根本解决不了问题。
不幸的是我也遇到了HTTP500错误,幸运的是我解决了HTTP500错误,现在分享给大家吧:
 
Windows的IIS出现 “HTTP 500 错误”一般是由于以下两个问题造成的:
(一) iwam账号在active directory、iis metabase数据库和com+应用程序三处的密码不同
                                 ——如果你没有装active directory请跳到方法二
(二)是脚本造成的(具体是什么我也不清楚)
                  —–如杀毒软件造成的”请求的资源在使用中”和  ’8002801d’错误用此方法

方法一:
IWAM账号是安装IIS时系统自动建立的一个内置账号.IWAM账号建立后被Active   Directory、IIS   metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作.系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一

具体步骤
1 选择开始->程序->管理工具->Active   Directory用户和计算机—为IWAM账号设置密码。  
2 运行 c:\Inetpub\AdminScripts>adsutil   SET   w3svc/WAMUserPass   +密码  —同步IIS   metabase数据库密码
3 运行 cscript   c:\inetpub\adminscripts\synciwam.vbs   -v   —-同步IWAM账号在COM+应用程序中的密码
如果最后一步出现错误代码8004E00F,先完成下面的回头再来一次上一步。

      ①、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错“COM+ 无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象。
      ②、进入事件查看器,发现msdtc服务没有正常启动。
  ③、删除注册表中的键:
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
  HKEY_CLASSES_ROOT\CID
  ④、运行CMD,停止MSDTC服务:net stop msdtc
  ⑤、卸载MSDTC服务:msdtc -uninstall
  ⑥、重新安装MSDTC服务:msdtc -install
  ⑦、启动MSDTC服务:net start msdtc。确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看,这里有个技巧,查看MSDTC服务是否启动,执行net stop msdtc,提示正在停止和停止成功就对了,再msdtc - install下就OK.
方法二:
运行regsvr32 jscript.dllregsvr32 vbscript.dll重新注册JAVA脚本和VB脚本的动态链接库重起后一切正常。
 
到这部分网上大部分都说可以了,但是我这里虽然没有8004e00f的错误提示了,但是访问页面Server Application Error 错误依旧,最后终于找到了解决方法如下:

解决办法:
[1]:
检查你的DTC服务(全名:Distributed Transaction Coordinator)是否可以正常启动,
如果正常的话请你跳过此步骤;如果出错,无法正常启动,请在开始菜单的运行中 运行:msdtc -resetlog 以创建日志文件。重起机器,检查IIS是否可以正常使用,若不行继续。
[2]:
在CMD下执行以下命令:
cd %windir%\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll

(到这里我就可以用了,不用重启的)
OK,ASP页面一切正常了@!~~~^_^

===========================================
最后总结一下吧,网上说的方法遇到8004e00f就不能用了,本文主要就是针对遇到8004e00f这个错误,遇到这个错误一定要把三个注册表的键给删除干净,然后再停止、卸载、安装、启动MSDTC服务。

上面的是我在网上搜索到的n多方法的总结,如果上面的方面都都用过了还是没有解决问题的话,请你确认一下你的磁盘系统是不是NTFS,如果是那么问题很可能就出现在这里了,NTFS权限太低,特别是在有链接数据库的情况下,一定要把数据库设置成为可读可写,如果iis是在本机做测试用的

,那么直接在根目录上添加everyone这个组,赋予完全控制的权限,所有问题就都解决啦。

目前还没有任何评论.