HTTP 500 - 内部服务器错误 解决方案

 

方法一

 

IIS安装完成,一运行出现“HTTP 500 - 内部服务器错误”,网上找了一圈,处理方法那个叫复杂,在研究完复杂方法之后,发现只要三步就可以解决问题了。
1. 运行:regsvr32 %windir%/system32/vbscript.dll (其实这一步也可以省,确保万一,还是执行吧)
2. 运行:msdtc -resetlog
3. 重新安装IIS

注释:
1. 微软只随IIS5提供了一个管理脚本adsutil.vbs,这个脚本位于C:/inetpub/adminscripts子目录下,首先注册vbscript.dll。
2. msdtc.exe是微软分布式传输协调程序。该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server,该服务用于管理多个服务器,必须确保该服务正常启动。
(1)控制面板->管理工具->组件服务
(2)找到“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”->“IIS Out-Of-Process Pooled Applications”

 

3. 如果找不到“IIS Out-Of-Process Pooled Applications”,或在点击不能打开“COM+应用程序”,执行完“msdtc -resetlog”后,重新安装IIS即可。

 

from http://www.cnblogs.com/wf225/archive/2008/08/03/1178058.html

 

 

方法二

 

第一步:“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”--“标识”--把“此用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再鼠标右键“属性”--“启动”.

第二步:“开始”->“管理工具”->“Internet 信息服务”->展开左侧的本地计算机->右击“网站”属性->选择“目录安全性”->点“编辑”然后在弹出的对话框中确保只选中了“匿名访问”和“集成Windows验证”两项,单击匿名访问中的编辑,去掉“允许IIS控制密码”然后保存设置就可以了。

第三步:点“默认WEB站点”的右键,转到“目录安全性”选项卡,点“匿名访问和验证控制”的“编辑”按钮,回弹出匿名方法新窗口,再点击其中“匿名访问”中的“编辑”按钮,将“允许IIS控制密码”全面的勾去掉,然后一路确定返回就可以了。至此XP简化版安装IIS5.1的步骤就全部完成了。

 

方法三

 

 

Server Application Error 的终极解决方案

(http 500 错误,IIS不能解析ASP)

具体错误如下:

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.

首先,你存放ASP代码的空间是 NTFS 还是 FAT32?
如果是NTFS的话,请右键点击存放ASP代码的文件夹,打开安全标签,设置权限允许EVERYONE访问和更改。

约定:(只简单交代XP系统,其他操作系统请自行查询资料)

  • 进入Dos环境:依次点击:“开始”->“所有程序”->“附件”->“C:/ 命令提示符”(或在“运行”中输入cmd回车)。
  • 进入注册表编辑器:在“运行”中输入regedit回车。
  • 查看COM+应用程序:进入“控制面板”->“管理工具”->“组件服务”,“查看组件服务”->“计算机”->“我的电脑”->“COM+应用程序”
  • 查看用户账户:依次点击:“开始”->“设置”->“控制面板”->“管理工具”->“计算机管理”,“系统工具”->“本地用户和组”->“用户”
  •  

    建议:我本机执行了六.2的第二句之后,提示“asptxn.dll中的DllRegisterServer失败。返回代码是:0x8004d01c”的错误,点击确定之后我发现在我的COM+应用程序也没有出现Out-Of-Process Pooled Applications。但是此时,我的IIS已经可以正常工作了!
    因此,我建议您在进行下面的步骤中,随时地刷新您的 http://localhost/查看IIS是否已经工作。

    一、修改IWAM_COMPUTERNAME帐号密码。

    1. 查看用户账户
    2. 选择IWAM_ComputerNameComputerName为本地计算机名),点击右键,选择更改密码,如设定为“uonun”;

     

    二、修改IIS内部IWAM_ComputerName帐号密码.

    1. 进入Dos环境
    2. 在c:/inetpub/adminscripts/目录下(IIS安装默认目录),输入:adsutil set w3svc/wamuserpass "uonun".
    3. 修改成功后,提示"wamuserpassstring) "******" "

     

    三、确认账户角色。

    1. 在“开始”>“设置”>“控制面板”>“管理工具”>“计算机管理”中,“系统工具”->“本地用户和组”-> “用户”里面,确认IWAM_(ComputerName)用户只在GUEST组内。
    2. 在“本地用户和组”->“组”里面,右键点击Users组属性,添加进NT AUTHORITY/Authenticated Users和NT AUTHORITY/Interactive两个用户成员,确定。

     

    四、设置COM+程序的用户

    1. 进入Dos环境
    2. 使用命令进入c:/inetpub/adminscripts/目录下(IIS安装默认目录),输入 synciwam.vbs -v 回车。 (将COM+程序的用户改回为IWAM用户.)

     

    五、如果上步出现"Error: 8004E00F:"错误。(下面仅是参考步骤)

    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. 进入Dos环境,重新安装MSDTC服务。
      输入 net stop msdtc 回车。
      输入 msdtc -uninstall 回车。
      输入 msdtc -install 回车。

     

    六、查看COM+应用程序,如果根本没发现有Out-Of-Process Pooled,则进行如下操作:

    1. 进入Dos环境
    2. 切换目录:
      输入 cd %windir%/system32/inetsrv 回车。
    3. 注册 dll:
      输入 rundll32 wamreg.dll, CreateIISPackage 回车。
      输入 regsvr32 asptxn.dll 回车。
    4. 重新查看COM+应用程序
      在新添加的“IIS Out-Of-Process Pooled”上鼠标右键“属性”->“标识”->把“此用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再鼠标右键“属性”--“启动”。 from http://www.ourome.com/lab/ServerApplicationError/

     

     

     

     

    你可能感兴趣的:(Microsoft,服务器,dos,application,工具,IIS)