专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »web服务器 » iis6.0:装IIS 6.0后所有站都出现500错误 »正文

iis6.0:装IIS 6.0后所有站都出现500错误

来源: 发布时间:星期四, 2009年1月15日 浏览:59次 评论:0
  .表现

  IIS5HTTP 500内部服务器是我们经常碰到主要表现就是ASP不能浏览但HTM静态网页不受影响另外当发生时系统事件日志和安全事件日志都会有相应记录

  具体如下:

  ()IE中表现

  当浏览以前能够正常运行asp页面时会出现如下:

  网页无法显示

  您要访问网页存在问题因此无法显示

  请尝试下列操作:

  打开 http://127.0.0.1/ 主页寻找指向所需信息链接

  单击刷新按钮或者以后重试

  HTTP 500 - 内部服务器

  Internet 信息服务

  技术信息(支持个人)

  详细信息:

  Microsoft 支持

  或者是:

  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.

  ( 2)安全日志记录(2条)

  事件类型: 失败审核

  事件来源: Security

  事件种类: 登录/注销

  事件 ID: 529

  日期: 2001-9-9

  事件: 11:17:07

  用户: NT AUTHORITY\SYSTEM

  计算机: MYSERVER

  描述:

  登录失败:

  原因: 用户名未知或密码

  用户名: IWAM_MYSERVER

  域: MYDOM

  登录类型: 4

  登录过程: Advapi

  身份验证包: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0

  工作站名: MYSERVER

  事件类型: 失败审核

  事件来源: Security

  事件种类: 帐户登录

  事件 ID: 681

  日期: 2001-9-9

  事件: 11:17:07

  用户: NT AUTHORITY\SYSTEM

  计算机: MYSERVER

  描述:

  登录到帐户: IWAM_MYSERVER

  登录用户: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0

  从工作站: MYSERVER

  未成功代码是: 3221225578

  ( 3)系统日志中记录(2条)

  事件类型:

  事件来源: DCOM

  事件种类: 无

  事件 ID: 10004

  日期: 2001-9-9

  事件: 11:20:26

  用户: N/A

  计算机: MYSERVER

  描述:

  DCOM 遇到“无法更新密码提供给新密码值包含密码中不允许 ”并且无法登录到 .\IWAM_MYSERVER 上以运行服务器:

  {3D14228D-FBE1-11D0-995D-00C04FD919C1}

  事件类型: 警告

  事件来源: W3SVC

  事件种类: 无

  事件 ID: 36

  日期: 2001-9-9

  事件: 11:20:26

  用户: N/A

  计算机: MYSERVER

  描述:

  服务器未能转入应用 /LM/W3SVC/4/Root是 RunAs 格式必须是<域名>\<用户名>或只是<用户名>

  若要获取有关此消息更多信息请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp

   2.原因分析

  综合分析上面表现我们可以看出主要是由于IWAM账号(在我计算机即是IWAM_MYSERVER账号)密码造成了HTTP 500内部

  在详细分析HTTP500内部产生原因的前先对IWAM账号进行下简要介绍:IWAM账号是安装IIS5时系统自动建立个内置账号主要用于启动进程的外应用Internet信息服务IWAM账号名字会根据每台计算机NETBIOS名字区别而有所区别通用格式是IWAM_MACHINE即由“IWAM”前缀、连接线“_”加上计算机NETBIOS名字组成计算机NETBIOS名字是MYSERVER因此我计算机上IWAM账号名字就是IWAM_MYSERVER点和IIS匿名账号ISUR_MACHINE命名方式非常相似

  IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用 3方共同使用账号密码被 3方分别保存并由操作系统负责这 3方保存IWAM密码同步工作按常理说由操作系统负责工作我们大可放心不必担心出错但不知是BUG还是其它什么原因系统对IWAM账号密码同步工作有时会失败使 3方IWAM账号所用密码不统当IIS或COM+应用使用IWAM密码登录系统启动IIS Out-Of-Process Pooled Applications时系统会因密码而拒绝这请求导致IIS Out-Of-Process Pooled Applications启动失败也就是我们在ID10004事件中看到“不能运行服务器{3D14228D-FBE1-11D0-995D-00C04FD919C1} ”(这里{3D14228D-FBE1-11D0-995D-00C04FD919C1} 是IIS Out-Of-Process Pooled ApplicationsKEY)不能转入IIS5应用HTTP 500内部就这样产生了

   3.解决办法

  知道了导致HTTP 500内部原因解决起来就比较简单了那就是人工同步IWAM账号在Active Directory、IIS metabase数据库和COM+应用密码

  具体操作分 3步,均需要以管理员身份登录计算机以提供足够操作权限(IWAM账号以IWAM_MYSERVER为例)

  ()更改Active Directory中IWAM_MYSERVER账号密码

  因IWAM账号密码由系统控制随机产生我们并不知道是什么为完成下面两步密码同步工作我们必须将IWAM账号密码设置为个我们知道

  1、选择“开始”->“”->“管理工具”->"Active Directory用户和计算机"启动“Active Directory用户和计算机”管理单元

  2、单击“user”选中右面“IWAM_MYSERVER”右击选择“重设密码(T)...”在跳出重设密码对方框中给IWAM_MYSERVER设置新密码这儿我们设置成“Aboutnt2001”(没有引号)确定等待密码修改成功

  ( 2)同步IIS metabase中IWAM_MYSERVER账号密码

  可能这项改动太敏感和重要微软并没有为我们修改IIS metabase中IWAM_MYSERVER账号密码提供个显式用户接口只随IIS5提供了个管理脚本adsutil.vbs这个脚本位于C:\inetpub\adminscripts子目录下(位置可能会因你安装IIS5时设置区别而有所变动)

  adsutil.vbs脚本功能强大参数非常多且使用方法复杂这里只提供使用这个脚本修改IWAM_MYSERVER账号密码思路方法:

  adsutil SET w3svc/WAMUserPass Password

  "Password"参数就是要设置IWAM账号密码因此我们将IIS metabase中IWAM_MYSERVER账号密码修改为“Aboutnt2001”命令就是:

  c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass "Aboutnt2001"

  修改成功后系统会有如下提示:

  WAMUserPass: (String) "Aboutnt2001"

  ( 3)同步COM+应用所用IWAM_MYSERVER密码

  同步COM+应用所用IWAM_MYSERVER密码我们有两种方式可以选择:种是使用组件服务MMC管理单元种是使用IWAM账号同步脚本synciwam.vbs

  1、使用组件服务MMC管理单元

  (1)启动组件服务管理单元:选择“开始”->“运行”->“MMC”启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上

  (2)找到“组件服务”->“计算机”->“我电脑”->“COM+应用”->“Out-Of-Process Pooled Applications”右击“Out-Of-Process Pooled Applications”->“属性”

  (3)切换到“Out-Of-Process Pooled Applications”属性对话框“标志”选项卡“此应用在下列账户下运行”选择中“此用户”会被选中用户名是“IWAM_MYSERVER”这些都是缺省不必改动在下面“密码”和“确认密码”文本框内输入正确密码“Aboutnt2001”确定退出

  (4)系统如果提示“应用个以上外部产品创建你确定要被这些产品支持吗?”时确定即可

  (5)如果我们在IIS中将其它些Web“应用保护”设置为“高(独立)”,那么这个WEB所使用COM+应用IWAM账号密码也需要同步重复(1)-(4)步同步其它相应Out of process applicationIWAM账号密码

  2、使用IWAM账号同步脚本synciwam.vbs

  实际上微软已经发现IWAM账号在密码同步方面存在问题因此在IIS5管理脚本中单独为IWAM账号密码同步编写了个脚本synciwam.vbs这个脚本位于C:\inetpub\adminscripts子目录下(位置可能会因你安装IIS5时设置区别而有所变动)

  synciwam.vbs脚本使用方法比较简单:

  cscript synciwam.vbs [-v|-h]

  “-v”参数表示详细显示脚本执行整个过程(建议使用)“-h”参数用于显示简单帮助信息

  我们要同步IWAM_MYSERVER账号在COM+应用密码只需要执行“cscript synciwam.vbs -v”即可如下:   cscript c:\inetpub\adminscripts\synciwam.vbs -v

  Microsoft (R) Windows Script Host Version 5.6

  版权所有(C) Microsoft Corporation 1996-2000保留所有权利

  WamUserName:IWAM_MYSERVER

  WamUserPass:Aboutnt2001

  IIS Applications Defined:

  Name, AppIsolated, Package ID

  w3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}

  Root, 2,

  IISHelp, 2,

  IISAdmin, 2,

  IISSamples, 2,

  MSADC, 2,

  ROOT, 2,

  IISAdmin, 2,

  IISHelp, 2,

  Root, 2,

  Root, 2,

  Out of process applications d:

  Count: 1

  {3D14228D-FBE1-11d0-995D-00C04FD919C1}

  Updating Applications:

  Name: IIS Out-Of-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04FD919C1}

  从上面脚本执行情况可以看出使用synciwam.vbs脚本要比使用组件服务思路方法更全面和快捷它首先从IISmetabase数据库找到IWAM账号"IWAM_MYSERVER"并取出对应密码“Aboutnt2001”然后查找所有已定义IIS Applications和Out of process applications并逐同步每个Out of process applications应用IWAM账号密码

  使用synciwam.vbs脚本时要注意个问题那就是在你运行synciwam.vbs的前必须保证IIS metabase数据库和Active Directory中IWAM密码已经synciwam.vbs脚本是从IIS metabase数据库而不是从Active Directory取得IWAM账号密码如果IIS metabase中密码不正确那synciwam.vbs取得密码也会不正确同步操作执行到“Updating Applications”系统就会报80110414即“找不到应用{3D14228D-FBE1-11D0-995D-00C04FD919C1}”



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: