一、 实验网络环境及配置
图1 拓扑结构
实验环境:锐捷R2624路由器(router2)一台 、锐捷R2624路由器(router1)一台、锐捷S1926 G+交换机一台及PC机3台,服务器1台。
1.在Router 2上配置各端口的IP地址及路由RIP协议后,配置信息如下:
router2#show ip int brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0 172.16.1.1 YES NVRAM up up
FastEthernet1 unassigned YES unset administratively down down
FastEthernet2 unassigned YES unset administratively down down
FastEthernet3 unassigned YES unset administratively down down
Serial0 10.1.1.2 YES NVRAM up up
Serial1 unassigned YES unset down down
router2#show ip route
Codes: C - connected, S - static, R - RIP
O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Serial0
R 192.168.1.0/24 [120/1] via 10.1.1.1, 00:00:18, Serial0
R 192.168.2.0/24 [120/1] via 10.1.1.1, 00:00:18, Serial0
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.1.0 is directly connected, FastEthernet0
2.在Router 1上配置各端口的IP地址及路由RIP协议后,配置信息如下:
router1#show ip int brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0 192.168.1.1 YES NVRAM up up
FastEthernet1 192.168.2.1 YES NVRAM up up
FastEthernet2 unassigned YES unset administratively down down
FastEthernet3 unassigned YES unset administratively down down
Serial0 10.1.1.1 YES NVRAM up up
Serial1 unassigned YES unset down down
router1#show ip route
Codes: C - connected, S - static, R - RIP
O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Serial0
C 192.168.1.0/24 is directly connected, FastEthernet0
C 192.168.2.0/24 is directly connected, FastEthernet1
R 172.16.0.0/16 [120/5] via 10.1.1.2, 00:00:16, Serial0
3.在锐捷S1926G+以太网交换机上配置
IP Address. . . . . . . . . . . . : 172.16.1.254
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 172.16.1.1
4.IIS SERVER服务器及各客户端PC机的配置如表1
此时,各客户端PC机与IISserver间能相互Ping通,企业网络服务实验模型建立完毕。
二、IIS的安装与基本配置
1. IIS的安装步骤
(1).开始——>设置——>控制面板——>添加/删除程序——>windows组件,打开“windows组件向导”,如图2
图2
(2)选中图2中的internet 信息服务(IIS),查看详细信息,将文件传输协议(FTP)服务器项的复选框选中,如图3
图3
(3)单击确定,接下来,插入windows 2000 server安装光盘,IIS安装完毕。
(4)通过开始——>程序——>管理工具——>Internet信息服务,打开控制台,启动IIS服务,如图4
图4
2.IIS的基本配置
(1) 配置Web站点:
步骤○1选中图4中的默认Web站点,在右键菜单中选中属性,打开默认Web站点属性对话框。配置IP地址为当前IISserver的主机地址172.16.1.2,如图5
图5
步骤○2选择“主目录”选项卡,配置提供Web服务的目录,实验时,可使用其默认选项,即
c:\inetpub\wwwroot,如图6
图6
步骤○3打开“目录安全性”选项卡,对访问帐户进行设置,如图7
图7
步骤○4打开图7中匿名访问和验证控制下的编辑,将“匿名访问”前的复选框选中,在没有特殊要求时,一般使用匿名访问,该项如不选中,今后在访问Web服务时将需要通过身份验证后才可访问。如图8
图8
步骤○5打开“文档”选项卡,配置Web站点的默认主页文件,实例中通过添加文件Index.htm文档作为web站点的启动文档,如图9,至此,Web服务配置完毕。
图9
(2) 配置FTP站点:
步骤○1选中图4中的默认FTP站点,在右键菜单中选中属性,打开默认FTP站点属性对话框。配置IP地址为当前IISserver的主机地址172.16.1.2,如图10
图10
步骤○2打开“安全帐号”选项卡,在没有特殊要求时将“允许匿名连接”前的复选框选中,如图11
图11
步骤○3打开“消息”选项卡,输入FTP站点的登陆信息,此消息将在访问者登陆后可见,一般为欢迎信息或者为本FTP站点的功能及材料的简介。如图12
图12
步骤○4打开“主目录”选项卡,设置FTP站点使用的主目录,在实例中使用默认路径即c:\inetpub\ftproot,如果此FTP站点还需要给访问者提供上传服务,则应在“写入”复选框前选中,否则使用默认设置。如图13
图13
步骤○5打开“目录安全性”选项卡,为使得当前FTP站点为所有的客户端提供FTP服务,在本实例中使用默认配置,如图14,至此,FTP站点配置完毕。
图14
三、IISserver中的IIS服务(Web、Ftp服务)配置后进行测试
1. 在客户机PC1和PC2进行测试,PC1和PC2上均使用Windows 2000操作系统。
PC1和PC2的配置如表1:
步骤○1验证PC1和PC2的属性配置,可通过开始——>运行——>CMD,打开命令提示符MS-DOS,在MSDOS下输入IPCONFIG。
PC1:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
PC2:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.2.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.2.1
步骤○2在PC1和PC2中打开Internet Explorer浏览器,输入WEB站点的IP地址http://172.16.1.2,测试通过,访问成功后如图15
图15
步骤○3在PC1和PC2中打开Internet Explorer浏览器,输入FTP站点的IP地址ftp://172.16.1.2,注意在访问Web站点和访问FTP站点时,访问方式的不同(即Http和Ftp方式的不同)。测试通过,访问成功后如图16
图16
2. 在客户机PC4进行测试,PC4采用Red Hat Linux 9操作系统。
PC4的配置如表1:
步骤○1验证PC4的属性配置,可通过开始——>系统工具——>终端,打开root@localhost窗口,输入ifconfig eth0:
[root@localhost root]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0D:61:AA:FB:A5
inet addr:172.16.1.3 Bcast:172.16.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16139 errors:0 dropped:0 overruns:0 frame:0
TX packets:1909 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1201296 (1.1 Mb) TX bytes:1179219 (1.1 Mb)
Interrupt:16 Base address:0xb000
步骤○2打开Red Hat Linux 9的Mozilla浏览器,输入http://172.16.1.2,访问正常。
步骤○3使用Red Hat Linux 9的gFtp来进行访问FTP服务,访问正常,如图17
图17
步骤○4使用Red Hat Linux 9中的终端来对FTP服务器进行测试,访问正常,如图18
图18
限于篇幅,此文拆成上下文刊发,下篇将介绍“IIS的高级服务配置及测试、访问控制配置、远程管理Web站点以及在路由上做访问控制”等内容,请见:IIS服务配置及安全访问控制策略详解(下)。
在IIS基础上建立PHP环境总会出现这样或那样的问题,很多问题都比较难解决,笔者最近在建立IIS下PHP环境时就遇到了出现访问出错的问题,所有php页面文件无法正常显示出来,而ASP还有HTML静态页面能够顺利访问。下面就请各位IT168的读者随我一起从权限入手解决IIS+PHP环境故障。
一、故障现象:
笔者搭建环境采用的操作系统是windows XP,IIS是系统自带的IIS 5,PHP版本是5.2。按照网上的步骤笔者安装PHP程序并配置了IIS中的相应映射参数建立了PHP环境,并且生成了名为index.php的文件作为测试用。在实际使用中却发现在服务器上通过浏览器访问http://127.0.0.1/index.php和http://localhost/index.php均出现错误提示,具体页面显示为“无权查看网页,基于所提供的凭据,您没有权限查看此目录或网页,HTTP错误 401.3——访问被资源ACL拒绝”。(如图1)
为了进一步排查故障笔者又在IIS中通过在默认网站上点“浏览”来查看,结果收到的反馈消息和上面的一样,也是“HTTP错误 401.3——访问被资源ACL拒绝”。(如图2)
然而在同一个站点的其他页面文件,只要不是PHP语言建立的都可以正常浏览和查看,包括HTML静态页面和ASP动态网页文件。
二、修改验证方式解决问题:
既然IIS反馈回的信息是“HTTP错误 401.3——访问被资源ACL拒绝”,所以笔者也针对访问权限进行排查故障工作。
第一步:在IIS中的默认网站上右键选择“属性”来查看该站点的相关属性信息。(如图3)
第二步:在打开的默认网站属性处我们找到“目录安全性”标签,然后点“匿名访问和身份验证控制”旁边的“编辑”按钮。(如图4)
第三步:笔者在“身份验证方法”处看到了默认情况下IIS是通过建立的IUSER_CHINA-914340F04以及相应的密码访问IIS页面信息的,这个帐户也是由IIS自动创建的。(如图5)
第四步:为了方便排查故障,特别是为了避免权限访问造成的问题,笔者在“身份验证方法”处点了“集成Windows身份验证”,这个选项的意思就是在本机或者网络有用户访问该站点里的页面文件时,将提示要求输入正确的Windows系统登录口令,通过Windows登录身份来验证是否容许浏览页面。(如图6)
第五步:“确定”完毕后提示要求将下属目录和页面文件也按照这种规则生效,继承覆盖设置。我们同意即可。(如图7)
第六步:修改完验证采用“集成Windows身份验证”后在IIS中浏览默认网站就没有任何问题了,可以顺利的显示出index.php文件中的PHP页面内容。(如图8)
第七步:一般情况下在IIS中调用查看该页面是不需要进行集成Windows身份验证的,所以没有出现要求输入具备相应权限的Windows系统帐户和密码,不过如果要是通过网络或者浏览器访问就需要填写具有足够权限的Windows系统帐户和密码。(如图9)
第八步:如果身份验证通过了Windows系统的检查,那么正确的页面信息也将显示出来。(如图10)
至此我们就解决了IIS中PHP页面访问所出现的“HTTP错误 401.3——访问被资源ACL拒绝”故障。不过这种设置在访问上带来了一定的不方便,必须知道Windows系统的帐户和密码才可以浏览,要知道一般网站都是给外部用户使用的,他们并不会知道服务器的密码与管理帐户,就算知道了也会给服务器的安全带来巨大的隐患。所以我们还需要从权限入手,解决问题。
三、修改匿名访问帐号解决实际问题:
既然通过修改访问方式为“集成Windows身份验证”能够解决实际问题,这就说明问题的根源不在PHP上,而在于权限的设置。
我们再次尝试在IIS中的默认网站上右键选择“属性”来查看该站点的相关属性信息。找到“目录安全性”标签,然后点“匿名访问和身份验证控制”旁边的“编辑”按钮。将“身份验证方法”处看到的IUSER_CHINA-914340F04帐户通过“浏览”按钮选择管理员administrator帐户,密码也设置相应的密码。(如图11)
再次浏览PHP文件你会发现一切顺利,PHP文件的内容可以被正常显示。(如图12)通过浏览器访问页面也没有任何问题,PHP内容显示无误。(如图13)
可见将默认的IUSER_CHINA-914340F04帐户修改为administrator管理员权限的帐户后访问就没有任何问题了,同时也不会出现上面修改验证方式时出现的帐户密码确认对话框,外部用户访问顺顺利利。不过这种方法非常不安全,毕竟administrator的权力太大,权限太高,可以轻松实现对页面的修改和删除操作。
四、修改文件夹权限解决问题:
上面两种修改办法都可以解决问题,这更加说明了问题出在权限而不是PHP的安装上。从网上找到的资料就是需要容许IUSER_CHINA-914340F04这个IIS临时调用帐号具备对IIS发布目录的访问权限,如果是PHP页面还需要具备执行权限。
第一步:由于笔者没有修改默认的IIS发布目录路径,所以我们进入到c:\inetpub目录,找到WWWROOT目录,在其上点鼠标右键选择“共享和安全”。(如图14)
第二步:将对应的IUSER_CHINA-914340F04帐户添加到对文件夹访问的属性窗口,并给予读取和运行,列出文件夹目录以及读取权限。(如图15)
第三步:另外为了保险还应该将IUSER_CHINA-914340F04帐户添加到对PHP文件夹访问的属性窗口中,给予并给予读取和运行,列出文件夹目录以及读取权限。(如图16)
第四步:接下来就应该可以顺利访问了,浏览PHP页面不会出现诸如“无权查看网页,基于所提供的凭据,您没有权限查看此目录或网页,HTTP错误 401.3——访问被资源ACL拒绝”的错误提示了。
小提示:如果还是有问题我们只需要将IUSER_CHINA-914340F04帐户的密码重新设置下。(如图17)最后再在“身份验证方法”处的IUSER_CHINA-914340F04帐户密码处输入相应的字符即可,记得要把容许IIS控制密码前的对勾去掉。(如图18)
这种方法解决了故障问题后可以实现外部用户不需要输入任何验证信息就可以顺利访问站点的目的,而且也不会给网站带来极大的安全隐患。
五、总结:
实际上本文是循序渐进的解决了PHP在IIS环境下的“无权查看网页,基于所提供的凭据,您没有权限查看此目录或网页,HTTP错误 401.3——访问被资源ACL拒绝”问题。相比之下第一种和第二种用于定位问题所在,在实际中并不可取,因为这样不方便用户浏览页面,而且在容易造成安全隐患;最后第三种方法才是真正的解决方案。不过本文介绍的三种方法是为了让读者开阔思路,真正从实例理解IIS中相应的设置信息,在关键时候可以解决大问题。
1. 启用HTTP的持续作用可以改善5~20%的执行效率。
2. 不启用记录可以改善5~8%的执行效率。
3. 使用 [独立] 的处理程序会损失20%的执行效率。
4. 增加快取记忆体的保存文档数量,可提高ActiveServer Pages之效能。
5. 勿使用CGI程式
6. 增加IIS 5.0电脑CPU数量。
7. 勿启用ASP侦错功能。
8. 静态网页采用HTTP 压缩,大约可以减少20%的传输量。
简单介绍如下
1、启用HTTP的持续作用
启用HTTP的持续作用(Keep-Alive)时,IIS与浏览器的连线不会断线,可以改善执行效率,直到浏览器关闭时连线才会断线。因为维持「Keep-Alive」状态时,于每次用户端请求时都不须重新建立一个新的连接,所以将改善服务器的效率。
此功能为HTTP .预设的功能,HTTP .0加上Keep-Alive header也可以提供HTTP的持续作用功能。
2、启用HTTP的持续作用可以改善5~20%的执行效率。
如何启用HTTP的持续作用呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、或Web站台,於 [内容] 之 [主目录] 页,勾选 [HTTP的持续作用] 选项。
3、不启用记录
不启用记录可以改善5~8%的执行效率。
如何设定不启用记录呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、或Web站台,於 [内容] 之 [主目录] 页,不勾选 [启用记录] 选项。
设定非独立的处理程序
使用 [独立] 的处理程序会损失20%的执行效率,此处所谓「独立」系指将 [主目录]、[虚拟目录] 页之应用程式保护选项设定为 [高(独立的)] 时。因此 [应用程式保护] 设定为 [低 (IIS处理程序)]时执行效率较高,设定画面如下:
如何设定非「独立」的处理程序呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、Web站台、或应用程式的起始目录。於 [内容] 之 [主目录]、[虚拟目录]页,设定应用程式保护选项为 [低 (IIS处理程序)]。
4、调整快取(Cache)记忆体
IIS 5.0将静态的网页资料暂存於快取(Cache)记忆体当中;IIS 4.0则将静态的网页资料暂存於档案当中。调整快取(Cache)记忆体的保存档案数量可以改善执行效率。
ASP指令文档执行过後,会在暂存於快取(Cache)记忆体中以提高执行效能。增加快取记忆体的保存文档数量,可提高Active Server Pages之效能。
可以设定所有在整个IIS电脑、「独立」Web站台、或「独立」应用程式上执行之应用程式的快取记忆体档案数量。
如何设定快取(Cache)功能呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、「独立」Web站台、或「独立」应用程式的起始目录。於 [内容] 之 [主目录]、[虚拟目录] 页,按下 [设定] 按钮时,即可由[处理程序选项] 页设定 [指令档快取记忆体] 。
如何设定快取(Cache)记忆体档案数量呢?步骤如下:
在 [Internet服务管理员] 中,选取整个IIS电脑、或Web站台的起始目录。於 [内容] 之 [伺服器扩充程式] 页,按下 [设定] 按钮。
即可设定快取(Cache)记忆体档案数量。
5、勿使用CGI程式
使用CGI程式时,因为处理程序(Process)须不断地产生与摧毁,造成执行效率不佳。
一般而言,执行效率比较如下:
静态网页(Static):00
ISAPI:50
ASP:0
CGI:
换句话说,ASP比CGI可能快0倍,因此勿使用CGI程式可以改善IIS的执行效率。
以弹性(Flexibility)而言:ASP > CGI > ISAPI > 静态网页(Static)。
以安全(Security)而言:ASP(独立) = ISAPI(独立)= CGI > ASP(非独立) = ISAPI(非独立)= 静态网页(Static)。
6、增加IIS 5.0电脑CPU数量
根据微软的测试报告,增加IIS4.0电脑CPU数量,执行效率并不会改善多少;但是增加IIS 5.0电脑CPU数量,执行效率会几乎成正比地提供,换句话说,两颗CPU的IIS 5.0电脑执行效率几乎是一颗CPU电脑的两倍,四颗CPU的IIS 5.0电脑执行效率几乎是一颗CPU电脑的四倍。
IIS 5.0将静态的网页资料暂存於快取(Cache)记忆体当中;IIS 4.0则将静态的网页资料暂存於档案当中。调整快取(Cache)记忆体的保存档案数量可以改善执行效率。
7、启用ASP侦错功能
勿启用ASP侦错功能可以改善执行效率。
如何勿启用ASP侦错功能呢?步骤如下:
於 [Internet服务管理员] 中,选取Web站台、或应用程式的起始目录,按右键选择[内容],按 [主目录]、[虚拟目录] 或 [目录] 页,按下[设定] 按钮,选择 [应用程式侦错] 页,不勾选 [启用ASP伺服器端指令侦错]、[启用ASP用户端指令侦错] 选项。
8、静态网页采用HTTP 压缩
静态网页采用HTTP 压缩,大约可以减少20%的传输量。
HTTP压缩功能启用或关闭,系针对整台IIS服务器来设定。
用户端使用IE 5.0浏览器连线到已经启用HTTP压缩IIS 5.0之Web服务器,才有HTTP压缩功能。
如何启用HTTP压缩功能呢?步骤如下:
若要启用HTTP压缩功能,方法为在 [Internet服务管理员] 中,选取电脑之 [内容],於 [主要内容] 之下选取[WWW服务]。然後按一下 [编辑] 按钮,於 [服务] 页上,选取 [压缩静态档案] 可以压缩静态档案,不选取 [压缩应用程式档案] 。
动态产生的内容档案(压缩应用程式档案)也可以压缩,但是须耗费额外CPU处理时间,若% Processor Time已经百分之八十或更多时,建议不要压缩。
其次 我还要说一下,就是除掉一些不必要的服务
401.1 未经授权:访问由于凭据无效被拒绝。
401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。
401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
401.4 未经授权:Web 服务器上安装的筛选器授权失败。
401.5 未经授权:ISAPI/CGI 应用程序授权失败。
401.7 未经授权:由于 Web 服务器上的 URL 授权策略而拒绝访问。
403 禁止访问:访问被拒绝。
403.1 禁止访问:执行访问被拒绝。
403.2 禁止访问:读取访问被拒绝。
403.3 禁止访问:写入访问被拒绝。
403.4 禁止访问:需要使用 SSL 查看该资源。
403.5 禁止访问:需要使用 SSL 128 查看该资源。
403.6 禁止访问:客户端的 IP 地址被拒绝。
403.7 禁止访问:需要 SSL 客户端证书。
403.8 禁止访问:客户端的 DNS 名称被拒绝。
403.9 禁止访问:太多客户端试图连接到 Web 服务器。
403.10 禁止访问:Web 服务器配置为拒绝执行访问。
403.11 禁止访问:密码已更改。
403.12 禁止访问:服务器证书映射器拒绝了客户端证书访问。
403.13 禁止访问:客户端证书已在 Web 服务器上吊销。
403.14 禁止访问:在 Web 服务器上已拒绝目录列表。
403.15 禁止访问:Web 服务器已超过客户端访问许可证限制。
403.16 禁止访问:客户端证书格式错误或未被 Web 服务器信任。
403.17 禁止访问:客户端证书已经到期或者尚未生效。
403.18 禁止访问:无法在当前应用程序池中执行请求的 URL。
403.19 禁止访问:无法在该应用程序池中为客户端执行 CGI。
403.20 禁止访问:Passport 登录失败。
404 找不到文件或目录。
404.1 文件或目录未找到:网站无法在所请求的端口访问。
注意 404.1 错误只会出现在具有多个 IP 地址的计算机上。如果在特定 IP 地址/端口组合上收到客户端请求,而且没有将 IP 地址配置为在该特定的端口上侦听,则 IIS 返回 404.1 HTTP 错误。例如,如果一台计算机有两个 IP 地址,而只将其中一个 IP 地址配置为在端口 80 上侦听,则另一个 IP 地址从端口 80 收到的任何请求都将导致 IIS 返回 404.1 错误。只应在此服务级别设置该错误,因为只有当服务器上使用多个 IP 地址时才会将它返回给客户端。
404.2 文件或目录无法找到:锁定策略禁止该请求。
404.3 文件或目录无法找到:MIME 映射策略禁止该请求。
405 用于访问该页的 HTTP 动作未被许可。
406 客户端浏览器不接受所请求页面的 MIME 类型。
407 Web 服务器需要初始的代理验证。
410 文件已删除。
412 客户端设置的前提条件在 Web 服务器上评估时失败。
414 请求 URL 太大,因此在 Web 服务器上不接受该 URL。
500 服务器内部错误。
500.11 服务器错误:Web 服务器上的应用程序正在关闭。
500.12 服务器错误:Web 服务器上的应用程序正在重新启动。
500.13 服务器错误:Web 服务器太忙。
500.14 服务器错误:服务器上的无效应用程序配置。
500.15 服务器错误:不允许直接请求 GLOBAL.ASA。
500.16 服务器错误:UNC 授权凭据不正确。
500.17 服务器错误:URL 授权存储无法找到。
500.18 服务器错误:URL 授权存储无法打开。
500.19 服务器错误:该文件的数据在配置数据库中配置不正确。
500.20 服务器错误:URL 授权域无法找到。
500 100 内部服务器错误:ASP 错误。
501 标题值指定的配置没有执行。
502 Web 服务器作为网关或代理服务器时收到无效的响应。
WIN2003 SERVER IIS6.0 ASP 错误解析
事件 ID 描述
0100 内存不足。无法分配所需的内存。
0101 意外错误。函数返回 |。
0102 要求字符串输入。函数需要字符串输入。
0103 要求数字输入。函数需要数字输入。
0104 不允许操作。
0105 索引超出范围。数组索引超出范围。
0106 类型不匹配。遇到未处理的数据类型。
0107 数据大小太大。请求中发送的数据大小超出允许的限制。
0108 创建对象失败。创建对象 '%s' 时出错。
0109 成员未找到。
0110 未知的名称。
0111 未知的界面。
0112 参数丢失。
0113 脚本超时。超过了脚本运行的最长时间。可以通过为 Server.ScriptTimeout 属性指定一个新值或在 IIS 管理工具中修改值来更改此限制。
0114 对象不可用于自由线程。应用程序对象仅接受自由线程对象;而对象 '%s' 不可用于自由线程。
0115 意外错误。外部对象中发生一个可捕捉的错误 (%X)。脚本无法继续运行。
0116 脚本分隔符结束标记丢失。脚本块缺少脚本结束标记 (%>)。
0117 脚本结束标记丢失。脚本块缺少脚本结束标记 () 或标记结束符号 (>)。
0118 对象的结束标记丢失。对象块缺少对象结束标记 () 或标记结束符号 (>)。
0119 Classid 或 Progid 属性丢失。对象实例 '|' 在对象标记中需要有效的 Classid 或 Progid。
0120 Runat 属性无效。脚本标记或对象标记的 Runat 属性只能有 'Server' 值。
0121 对象标记中的范围无效。对象实例 '|' 的作用范围不能是 Application 或 Session。要创建有 Session 或 Application 作用范围的对象实例,请将在 Global.asa 文件中加入 Object 标记。
0122 对象标记中的范围无效。对象实例 '|' 必须有 Application 或 Session 作用范围。这将应用于所有在 Global.asa 文件内创建的对象。
0123 缺少 Id 属性。缺少 Object 标记所需的 Id 属性。
0124 Language 属性丢失。缺少 Object 标记所需的 Language 属性。
0125 属性结束标记丢失。'|' 属性的值没有结束分隔符。
0126 未找到 Include 文件。未找到 Include 文件 '|'。
0127 HTML 注释的结束标记丢失。HTML 注释或在服务器端的包含文件缺少结束标记 (-->)。
0128 File 或 Virtual 属性丢失。Include 文件名必须用 File 或 Virtual 属性指定。
0129 未知的脚本语言。服务器上找不到脚本语言 '|'。
0130 File 属性无效。File 属性 '|' 不能以斜杠或反斜杠开始。
0131 不允许的父路径。Include 文件 '|' 不能包含 '..' 来表示父目录。
0132 编译错误。无法处理 Active Server Page '|'。
0133 ClassID 属性无效。对象标记有一个无效的 ClassID '|'。
0134 ProgID 属性无效。对象有一个无效的 ProgID '|'。
0178 Server.CreateObject 访问错误。检查权限时调用 Server.CreateObject 失败。对此对象的访问被拒绝。
0179 应用程序初始化错误。初始化 Application 对象时发生错误。
0180 禁止的对象使用。Application 对象中不能保存内部对象。
0181 线程模型无效。使用单元线程模型的对象不能存储在 Application 对象中。
0182 对象信息丢失。Application 对象中不能保存信息不全的对象。需要此对象的线程模型信息。
0183 空 Cookie 项。不能保存空项 Cookie。
0184 Cookie 名称丢失。必须为 Cookie 指定名称。
0185 默认属性丢失。未找到对象的默认属性。
0186 证书分析错误。
0187 对象添加冲突。无法将对象添加到应用程序。应用程序被另一个要求添加对象的请求锁定。
0188 禁止的对象使用。无法将用对象标记创建的对象添加到会话内部。
0189 禁止的对象使用。无法将用对象标记创建的对象添加到应用程序内部。
0190 意外错误。释放外部对象时发生可捕获错误。
0191 意外错误。外部对象的 OnStartPage 方法中发生可捕获错误。
0192 意外错误。外部对象的 OnEndPage 方法中发生可捕获错误。
0193 OnStartPage 失败。外部对象的 OnStartPage 方法中出错。
0194 OnEndPage 失败。外部对象的 OnEndPage 方法中出错。
0195 无效的服务器方法调用。Session_OnEnd 和 Application_OnEnd 期间不能调用 Server 对象的此方法。
0196 无法启动进程外组件。只能使用 InProc 服务器组件。若要使用 LocalServer 组件,必须设置 AspAllowOutOfProcComponents 配置数据库设置。请参阅帮助文件,了解重要注意事项。
0197 禁止的对象使用。不能将有单元模型行为的对象添加到应用程序内部对象。
0198 服务器正在关闭。不能处理请求。
0199 禁止的对象使用。不能将 JScript 对象添加到会话。
0200 超出 'Expires' 属性范围。为 'Expires' 指定的日期和时间在 1980 年 1 月 1 日之前或在 2038 年 1 月 19 日 3:14:07 GMT 之后。
0201 默认脚本语言无效。为此应用程序指定的默认脚本语言无效。
0202 代码页丢失。代码页属性丢失。
0203 代码页无效。指定的代码页属性无效。
0204 CodePage 值无效。指定的 CodePage 值无效。
0205 更改通知。创建更改通知事件失败。
0206 不能调用 BinaryRead。使用 Request.Form 集合后不能调用 BinaryRead。
0207 不能使用 Request.Form。调用 BinaryRead 后不能使用 Request.Form 集合。
0208 不能使用通用 Request 集合。调用 BinaryRead 后不能使用通用 Request 集合。
0209 TRANSACTION 属性的值非法。TRANSACTION 属性只能是 REQUIRED、REQUIRES_NEW、SUPPORTED 或 NOT_SUPPORTED。
0210 方法未实施。此方法尚未实施。
0211 对象超出范围。引用内置的 ASP 对象,此操作已不再有效。
0212 无法清除缓冲区。客户端调试启用时,Response.Flush 之后不能有 Response.Clear。
0214 路径参数无效。Path 参数超出允许的最大长度。
0215 ENABLESESSIONSTATE 属性的值非法。ENABLESESSIONSTATE 属性的值只能是 TRUE 或 FALSE。
0216 MSDTC 服务未运行。如果未运行 MSDTC 服务,则不能运行事务性网页。
0217 对象标记中的范围无效。对象的作用范围必须是 Page、Session 或 Application。
0218 LCID 丢失。LCID 属性丢失。
0219 LCID 无效。指定的 LCID 不可用。
0220 不允许请求 GLOBAL.ASA。不允许请求指向 GLOBAL.ASA 的 URL。
0221 @ 命令指令无效。指定的 '|' 选项未知或无效。
0222 TypeLib 规范无效。METADATA 标记包含无效的类型库规范。
0223 未找到 TypeLib。METADATA 标签含有的类型库规范和注册表项不符。
0224 无法加载 TypeLib。无法加载 METADATA 标记中指定的类型库。
0225 无法包装 TypeLib。不能通过 METADATA 标记中指定的类型库创建类型库包装对象。
0226 无法修改 StaticObjects。运行时无法修改 StaticObjects 集合。
0227 Server.Execute 失败。调用 Server.Execute 失败。
0228 Server.Execute 错误。加载此页时调用 Server.Execute 失败。
0229 Server.Transfer 失败。调用 Server.Transfer 失败。
0230 Server.Transfer 错误。加载此页时调用 Server.Transfer 失败。
0231 Server.Execute 错误。使用的 URL 格式无效,或者使用了完全限定的绝对 URL。请使用相对 URL。
0232 Cookie 规范无效。METADATA 标记包含无效的 Cookie 规范。
0233 无法加载 Cookie 脚本源。无法加载 METADATA 标记中指定的 Cookie 脚本源文件。
0234 包含指令无效。脚本块中可能没有服务器端包含文件指令。
问题1:未启用父路径
症状举例:
Server.MapPath() 错误 ASP 0175 : 80004005
不允许的 Path 字符
/0709/dqyllhsub/news/OpenDatabase.asp,行 4
在 MapPath 的 Path 参数中不允许字符 ..。
原因分析:
许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。
解决方法:
在IIS中 属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
症状举例:
HTTP 错误 404 - 文件或目录未找到。
原因分析:
在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
解决方法:
在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
问题3:身份认证配置不当
症状举例:
HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
原因分析:IIS 支持以下几种 Web 身份验证方法:
匿名身份验证
IIS 创建 IUSR_计算机名称 帐户(其中 计算机名称 是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
基本身份验证
使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。
Windows 集成身份验证
Windows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用。在集成的 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的 Windows 身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。
摘要身份验证
摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
.NET Passport 身份验证
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。
解决方法:
根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置
问题4:IP限制配置不当
症状举例:
HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。
原因分析:
IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。
解决方法:
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
问题5:IUSR账号被禁用
症状举例:
HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
原因分析:
由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
解决办法:
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
问题6:NTFS权限设置不当
症状举例:
HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
原因分析:
Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
解决办法:
进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设置这里不再馈述。
问题7:IWAM账号不同步
症状举例:
HTTP 500 - 内部服务器错误
原因分析:
IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
解决办法:
如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。
运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码 同步IIS metabase数据库密码
运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
症状举例:
HTTP 错误 404 - 文件或目录未找到。
原因分析:
IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。
解决方法:
在IIS中 属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。希望此帖能解决大家的大部分问题:)