iis HTTP 500 - 内部服务器错误:IIS无法运行浏览ASP网站的解决方案参考

IIS浏览ASP网站,总是提示:iis HTTP 500 – 内部服务器错误,找了很多方法,均没有效果。先说一下我大致的原因及解决的方法,可能是修改过IWAM_MYSERVER账号密码的原因(配置ASP.NET时弄的操作),后来乱的一沓糊涂。我是按照下面的九个个步骤操作,重启系统后恢复正常的。
错误分析:
  1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象。
  2、进入事件查看器,发现msdtc服务没有正常启动。

解决方法参考:

文末提供了一个处理文件,好处是方便简单,不用做那些的复杂操作。大家可尝试先用该批处理文件,如果不行再作其他尝试。

  1、删除注册表中的键:
   HKEY_LOCAL_MACHINE/SYSTEM/CurrentControl/SetServices/MSDTC
   HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
   HKEY_CLASSES_ROOT/CID
  2、停止MSDTC服务:net stop msdtc
  3、卸载MSDTC服务:msdtc -uninstall
  4、重新安装MSDTC服务:msdtc -install
  5、卸载IIS,重启系统,然后重新安装IIS(测试发现不重启直接重装IIS不行),访问asp程序看看,应该OK了
—————————————————
  如果不行,接着做下面的。*^_^*
  6、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看],这里有个技巧,查看MSDTC服务是否启动,执行net stop msdtc,提示正在停止和停止成功就对了,再msdtc – install下就OK.
  7、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]
  8、同步IIS metabase中IWAM_MYSERVER的密码:
  c:inetpubadminscripts>adsutil set w3svc/wamuserpass “yourpassword”
  9、同步COM+应用程序所用的IWAM_MYSERVER密码:
  c:inetpubadminscripts>cscript synciwam.vbs -v

下面是查找解决该问题时找到的一些相关资料,在此摘录仅供参考:

一、启用Asp支持
Windows Server 2003 默认安装,是不安装 IIS 6 的,需要另外安装。安装完 IIS 6,还需要单独开启对于 ASP 的支持。
第一步,启用Asp,进入:控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 -> Active Server Pages -> 允许
控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 -> 在服务端的包含文件 -> 允许
第二步,启用父路径支持。
IIS-网站-主目录-配置-选项-启用父路径
第三步,权限分配
IIS-网站-(具体站点)-(右键)权限-Users完全控制

iis 无法打开网页
1、系统可能没有注册msjetoledb40.dll,解决办法是
点 开始—>运行, 输入 regsvr32 msjetoledb40.dll, 回车即可;
2、数据库所在文件夹权限
打开办法是:打开我的电脑,然后点菜单上的“文件夹选项”—>查看,然后把“使用简单文件夹共享(推荐)”前面的钩去掉,然后点“确认”;接下来回到需要打开权限的文件夹(数据库存放的文件夹),右键—> 属性—>安全,然后点“添加”—>”高级”—>立即查找—>然后在下面的地方选择“everyone”—>确定—>点刚才加入的”everyone”,然后在下面的大框编辑everyone权限为完全控制,保存即可。
3、需要打开guest用户
打开方法:我的电脑—>控制面板—>管理工具—->计算机管理—>本地用户和组—用户—找到”guest”,双击,然后把弹出来的狂上的“帐户已停用”前的钩去掉,保存即可。
4、temp(临时文件夹)权限
打开办法:windows—>temp,单击右键选择-属性,你就会看到一个叫做“安全”的选项,添加一个everyone,权限设置为完全控制,再将你正在使用windows的用户也设置为完全控制.(此修改步骤类似问题2。,可以参照修改)
—————————————————
每每装IIS,总会碰到这样那样的问题,从目前反应情况来看,IIS安装后可浏览HTML静态文件,却无法浏览asp为后缀的动态页面。
通过几次调试后,找到以下几种方法,这些方法都参考网络各个介绍,并通过了本人的测试。希望能给大家减少IIS安装故障带来的烦恼。

一般来说,对于此故障通常都发生在这么一种情况,即windows xp ghost版本。很容易理解,ghost制作方通常为了给系统减肥,把普通用户不需要的服务给停止了,结果导致当我们需要使用一些不常用的服务时,却怎么也不能正常。所以,对大多数初学者来说,如果你想使用IIS,那么你使用安装版的操作系统比较方便。

对于asp文件无法打开,html却能正常浏览(请注意此特征,不要与其他错误混淆),你可以考虑以下两种情况。

1. 迅雷惹的祸。
如果迅雷打开了,IIS就会失效。因为迅雷会占用系统80端口,而IIS的默认端口就是80,所以,有人当着你家门口,你当然进不去了,事情好办,把迅雷退出就OK了嘛。
2. windows漏洞补丁所致。
首先,你检查下是否安装了KB939373补丁,更新文件WindowsXP-KB939373-x86-CHS.exe补丁会导致asp文件无法正常运行的。解决方法,开始——控制面板——添加删除程序 把显示更新选上,然后找到KB939373,卸载即可。
KB939373,用于防止攻击者可能会远程利用此问题危及使用 Internet 信息服务 (IIS) 的 Windows 系统的安全并获取对该系统的控制权的防范,但这补丁好像本身就有问题。
3. COM+应用程序错误,这个其实我也没去弄清楚,因为我也是按照别人的方法按步排除出来的。下面是别人的步骤,我借用一下。
—————————————————
IIS服务器出现错误的原因很多,请尝试以下操作:
1、查看网站属性——文档
看看启用默认文档中是否存在:index.asp index.htm index.html (最好全都有,没有可添加)
2、查看网站属性——主目录
A、本地路径是否指定正确
B、是否勾选“脚本资源访问”?
C、是否勾选“读取”?
D、执行权限:纯脚本
3、查看网站属性——目录安全性——编辑
A、是否勾选“匿名访问”?
B、用户名:IUSR_您的计算机名(不对,就点浏览选择)
C、密码不用改,勾选“允许IIS控制密码”就可以了
D、其它不用选
4、查看网站属性——网站
A、IP地址:全部未分配 或者 选择一个
B、TCP端口:80 (最好不要改,改了访问方法就不一,特别提醒:有些软件会占用80端口,端口被占就启动不了IIS,例如:讯雷)
5、打开控制面板——管理工具——计算机管理——本地用户和组——用户
A、看看“IUSR_您的计算机名”此用户有没有启动,必须启动(说明:有红色的×表示没有启动)
B、看看“IWAM_您的计算机名”此用户有没有启动,必须启动(说明:有红色的×表示没有启动)
C、在“IWAM_您的计算机名”该用户上按右键——设置密码(密码要记住,后面还需要用上该密码)
6、打开控制面板——管理工具——组件服务——组件服务——计算机——我的电脑——COM+应用程序
A、在“IIS Out-Of-Process Pooled Applications”上按右键选择‘属性’——选择‘标识’,指定用户:IWAM_您计算机名(说明:可以点浏览查找);输入密码,密码上面步骤的密码。再次启动该服务,启动后它会动。
B、在“IIS In-Process Applications”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉
C、在“IIS Utilities”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉。
特别提醒:有些朋友的组件无法启动,可能是您优化了XP服务,也可能是病毒导致,也可能是组件出差……这些就只能靠您处理了
7、请检查“控制面板——管理工具——数据源 (ODBC)”,看看系统DSN 有没有Access数据库驱动,如果是空白的话,请添加一个。
8、如果经过上面设置还不行话的,请注册以下组件,分别把它复制到运行中:
A、regsvr32 %windir%system32VBscript.dll
B、regsvr32 %windir%system32Jscript.dll
C、regsvr32 %windir%system32InetsrvAsp.dll

最后,就是测试了……(如果还不行,建议您重装IIS,重作以上操作)
祝您成功!
—————————————————
我只做到第6步,结果发现我的COM+应用程序无法打开,我想问题大概就在这里了,随后我又找到解决COM+应用程序无法打开的办法。
这个问题也是IIS常遇到的,就是打开COM+时有时会显示
“错误代码8004E00F-COM+无法与Microsoft分布式事物协调程序交谈”
原因及解决方法MS DTC 日志被误删除了。
使用msdtc -resetlog 命令创建日志文件。
这时,COM+应用程序正常了,嘿嘿。
此处有一个说明,上面的步骤中的第6条,我并没有找到相对应的a,b,c所说的选项,所以我在后面把IIS重新装了一遍(因为我按照上面的说明把密码改了,无法与后面的配套,只得重装)。结果,IIS正常了,哈哈,想想此前重装好几遍都没用,应该是这里的问题了。

最后提供一个以上操作的批处理文件,好处是方便简单,不用做上面的复杂操作。大家可尝试先用该批处理文件,如果不行再作其他尝试。该批处理文件来自烦恼的博客。
下载地址:IIS_Server_Application_Error错误自动修复批处理.rar

点赞 (0)
  1. 东莞礼品说道:

    我的网站在本地可以运行,但是上传到服务器就显示为500错误 。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code