巧用活动日志解决IIS服务器故障

网络整理 - 09-03

IIS(Internet Information Server,互联网信息服务)是Windows提供的一个Web服务组件,笔者一直Windows 2000 Server来搭建W eb服务器用以支持Asp网页,最近开始使用Windows 2003 Server。

  配置好IIS后,所有的Htm静态网页和大多数的Asp页面不受影响,但个别Asp网页出现了不能正常浏览的“HTTP500内部错误”问题(图1)。莫非Windows Server 2003 IIS的性能还不如Windows 2000?我下定决心一定要查个水落石出。


图1

  当系统提示“HTTP500内部错误”问题时,常常会把网管们搞得一头雾水,幸亏我这些 Asp网页本身没有问题,因为它们在Windows 2000下能够正常显示,所以把出错的原因归结为IIS的问题。首先尝试在百度网站上以“HTTP500内部错误”为关键字进行搜索,搜出的信息可真不少,但都不适合我遇到的问题。但从这些信息中,我注意到了IIS中有“活动日志”这一重要信息,在日志里面记录的信息应该详细一些吧。有了这一想法,我又开始进行了下面的尝试:依次执行“开始→设置→ 控制面板→管理工具→Internet 信息服务(IIS)管理器”,打开“Internet 信息服务(IIS)管理器”,然后展开网站中我的“axzx”站点,右击它,选“属性”后进入站点属性页面(图2 )。


图2

  从图中可以看到IIS6采用的是“W3C扩展日志”,再单击右边的“属性”按钮,从中我们能够得到该日志存放的路径,按照给出的路径,找到这个日志文件(exyymmdd.log),用记事本 打开后,在文件的最后发现了这样的一条信息所示(图3 ),然后以“不允许的_Path_字符”为关键字进行搜索,果然找到了相应的解决方法:


图3

  在图2中切换到“主目录”选项卡,在弹出的对话框中单击“配置”按钮,切换到“选项”标签。原来2003为出于安全性考虑,在默认情况下“启用父路径”功能是关闭状态,从而造成了部分Asp页面不能打开。当然这些不能打开的页面有这样一个共同特征,里面都有用来调用父目录的“../”字符,所以会出错。把“启用父路径”左边的复选框打上对勾(图4),确定后再次浏览这个Asp文件,久违的页面又出现了,从而问题成功解决。


图4

  总之,出现“HTTP500内部错误”这一问题的原因很多,但体现到浏览器上却很笼统,所以要具体问题具体分析。而“活动日志”就是IIS提供给我们分析问题的一双“慧眼”,有了这双“慧眼”就能够找到出现问题的原因所在。当然IIS的“活动日志”还有别的用途,笔者在这里只是抛砖引玉,希望引起大家对它的重视。