欲望 发表于 2009-1-5 09:02:04

掌握IIS排错技巧

IIS是使用非常广泛的Web平台,通过它搭建Web站点是比较简单的。但是,在使用的过程中由于IIS设置不当或者其它原因使得Web不能正常运行,这是非常普遍的。作为Web管理员,掌握必要的排错技巧解决IIS故障显得尤为重要。
  1、客户端的IP地址被拒绝
  当IIS部署完成Web成功发布后却被告知某些用户无法访问Web页面,当他们访问Web站点的时候,浏览器显示错误页,错误提示为“HTTP错误403.6-禁止访问:客户端的IP地址被拒绝”。
   
www.ad119.cn/bbs/attachments/computer/20090105/20091590501577801.jpg

图1

   
    之所以会显示上面的错误提示,这是由于IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。该功能可以可以加强Web的安全限制IP对Web的访问,有时由于管理员的疏忽会将某些本来应该访问的IP设置为禁止的话就会造成这样的错误。
  解决方法是:运行“IIS管理器”进入相应站点的属性页面,在“目录安全性”选项卡页面的“IP地址和域名限制”下点击“编辑”进入“IP地址和域名限制”页面,然后根据需要对IP进行授权。需要说明的是,如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。

www.ad119.cn/bbs/attachments/computer/20090105/200915905081277802.jpg

图2

<
               
    2、访问由于ACL对所请求资源的设置被拒绝
  客户端访问web站点,显示错误页:您不具备查看该目录或页面的权限,因为访问控制列表 (ACL) 对 Web 服务器上的该资源进行了配置。错误提示为“HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。”

www.ad119.cn/bbs/attachments/computer/20090105/200915905082877803.jpg

图3

   
    这是对Web目录的权限设置不当造成的,我们知道Web客户端的用户隶属于user组。因此,如果在Web目录的NTFS权限中没有赋予users的读取权限就会导致页面无法访问。
  解决方法是:打开IIS管理器,找到Web目录,右键“属性”在“安全”选项卡下添加users组,然后赋予其“读取和运行”、“列出文件夹目录”及“读取”权限。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905089077804.jpg

图4

<
               
    3、不具备使用所提供的凭据查看该目录或页的权限
  客户端访问Web站点,显示错误页:您不具备使用所提供的凭据查看该目录或页的权限。错误提示为:HTTP错误401.1-未经授权:访问由于凭据无效被拒绝“HTTP错误401.1 - 未经授权:访问由于凭据无效被拒绝。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905090677805.jpg

图5

   
    我们知道客户端访问Web站点使用的是IUSR帐户,该用户用于匿名访问,因此如果此账号被禁用,将造成用户无法访问。
  解决方法是:“开始→运行”输入lusrmgr.msc打开“本地用户和组”工具,然后双击“用户”中的“IUSR_LW-SERVER”(LW-SERVER是服务器名称,因机而异),取消对“帐户已禁用”的勾选最后“确定”退出即可。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905092177806.jpg

图6
<
               
   4、不允许的父路径
  客户端访问Web站点弹出错误页,显示类似“Active Server Pages 错误 'ASP 0131' 不允许的父路径 /BBS/Admin/BbsFace.asp,行 1 包含文件 '../conn.asp' 不能用 '..' 表示父目录”的错误提示。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905093777807.jpg

图7

   
    如图7所示,出现这样的错误提示是因为在asp等动态Web页面中需要调用诸如../格式的语句,即返回到上一层目录,而IIS6.0出于安全性考虑默认是不允许这样的。解决这一IIS错误的方法是:打开IIS管理器,找到Web目录,右键“属性”在“主目录”选项卡下点击“配置”打开“应用程序配置”窗口,单击“选项”标签,勾选“应用程序配置”下的“启用父路径”即可。

   
www.ad119.cn/bbs/attachments/computer/20090105/200915905095377808.jpg

图8
<
               
    5、文件或目录未找到
  当客户端访问Asp动态Web站点时,提示“无法找到该页”,IIS错提示为“HTTP错误404-文件或目录找到”。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905096877809.jpg

图9

   
    如图9所示,出现这样的错误提示并不是因为Web站点的文件或者目录不存在,而是IIS不能解析ASP所致。在IIS6.0中新增了Web程序扩展这一选择,我们可以在其中对ASP、ASP.net、CGI、IDC等程序进行允许和禁止操作。在默认情况下“Active Server Pages”扩展是禁止的,因此会造成上面的IIS错误。解决的方法是:打开IIS管理器点击左侧的“Web 服务扩展”,然后选择“Active Server Pages”允许即可。
   
www.ad119.cn/bbs/attachments/computer/20090105/2009159050984778010.jpg

图10
<
               
    6、内部服务错误
  客户端访问Web站点提示“HTTP 500 - 内部服务器错误”,这样的IIS错误提示不是很频繁但排错比较麻烦困扰了很多人。其原因是由IWAM帐号不同步造成的,IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM 应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
   
www.ad119.cn/bbs/attachments/computer/20090105/20091590510778011.jpg

图11

   
    解决办法是:如果存在AD(活动目录),选择开始→程序→管理工具→Active Directory用户和计算机为IWAM账号设置密码。然后打开命令提示符(cmd.exe)进入c:\Inetpub\AdminScripts目录然后执行命令:adsutil SET w3svc/WAMUserPass test (test为密码,大家可以自行设置)。然后同步IIS metabase数据库密码同样在命令行下运行synciwam.vbs -v 同步IWAM账号在COM 应用程序中的密码。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905131778012.jpg

图12
<
               
    7、身份认证配置不当
  访问Web站点提示不具备使用所提供的凭据查看该目录或页的权限,错误标识为“HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝”。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905146778013.jpg

图13

   
    这一IIS故障是由身份验证造成的。IIS支持多种Web身份验证方法,有基本身份验证、Windows 集成身份验证、摘要身份验证、.NET Pawwport身份验证。这些验证有不同安全级别适用于不同的安全需求,如果设置不当就会造成错误。一般为匿名身份认证,这是大多数站点使用的认证方法。
  解决办法是,打开IIS管理器,找到Web目录,右键“属性”打开站点属性窗口,在“目录安全性”标签的“身份验证和访问控制”下点击“编辑”打开“身份验证方法”面板,然后根据安全需求选择相应的验证方法。如果是一般的站点我们就选择“启用匿名访问”即可。
   
www.ad119.cn/bbs/attachments/computer/20090105/200915905162778014.jpg

图14

<
               
    8、附件太大,无法上传
  让在网站的后台上传文件文件,当超过200k的时候会无法上传。这是因为在IIS6.0中,对文件的上传进行了严格的限制,这样这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。数据库属性配置最大ASP大小为204,800 个字节,并将各个字段限制为100 KB。在IIS 6.0 之前的版本中,没有限制。
  这就造成了文件上传不能超过200k,而事实上是提交数据不能超过200k,你可以发一个很长的帖子试试,也会出现这个错误。
  解决方法是:首先“开始→运行”输入services.msc打开服务管理器关闭“iis admin service”服务。接下来找到找到windows\system32\inesrv\下的metabase.xml用记事本打开,通过记事本的“编辑→查找”功能找到ASPMaxRequestEntityAllowed其默认值为204800,即200K,把他修改为需要的值,最后重新启动“iis admin service”服务即可。
   
www.ad119.cn/bbs/attachments/computer/20090105/2009159051109778015.jpg

图15

   
     9、某些类型文件无法下载
  客户端无法下载Web站点中的某些类型的文件,错误提示为“HTTP 错误 404 - 文件或目录未找到”。造成这一错误的原因是IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。(图16)

www.ad119.cn/bbs/attachments/computer/20090105/2009159051109778015.jpg

图15
   
<
               
    解决办法是:打开IIS管理器,找到Web目录,右键“属性”打开站点属性窗口,在“HTTP头”选项卡下点击“MIME类型”按钮然后“新建”添加相应的文件扩展名。
   
www.ad119.cn/bbs/attachments/computer/20090105/2009159051125778016.jpg

图17
   
    总结:由于IIS的复杂性及其特殊情况使得IIS错误相当多样,本文不可能一一列举。上面的列举的9个排错案例占了IIS错误的绝大多数,理解错误产生的原因并掌握排错技巧就足能应对IIS故障。当然,对于此外的其它IIS错误,只要结合实践深入探究就能够找到排错方法。
<
页: [1]
查看完整版本: 掌握IIS排错技巧