许多人在用IIS建设
网站的过程中或多或少都会出现问题,在IIS6中有些是以前版本中就曾经出现过,IIS6中也有些是新发现的问题,本文在此对建站上所出现的问题做了个简单总结,希望能对大家有所帮助。 问题1:未启用父路径
4 [, \3 ^" H0 H" N' K l! W 症状举例:
* Y* M) w8 k1 B' F
Server.MapPath()错误'ASP0175:80004005'
' N6 V- S9 |$ Y6 {5 \ 不允许的Path字符
) r( B' m; v0 |4 T6 G% ~+ O' _ /0709/dqyllhsub/news/OpenDatabase.asp,行4
* }* S* {5 S! H/ r' y) E
在MapPath的Path参数中不允许字符'..'。
$ q7 _* z9 x! p* ^* @% s+ g
原因分析:
8 y0 ?9 t4 ?7 G! r 许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于
安全考虑,这一选项默认是关闭的。
0 ~% R+ p$ z* c# x. X) S4 e 解决方法:
) P: y2 d* {8 U2 L 在IIS中属性-%26gt;主目录-%26gt;配置-%26gt;选项中。把”启用父路径“前面打上勾。确认刷新。
$ w: u; g/ C- x* Z% J* U( S- U( h1 G 问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
: j1 H' H# f& f; r3 O4 ~+ d d4 v" P5 t 症状举例:
4 Z1 o% w* Z; S# g6 b! n
HTTP错误404-文件或目录未找到。
$ d: _( K* j; ~+ `: j* y0 n 原因分析:
' U' W* i1 a4 ^# k
在IIS6.0中新增了web
程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
3 r( z7 \8 T6 ^0 d9 E$ E 解决方法:
: D' v0 u# N" A4 X3 T
在IIS中的Web服务扩展中选中ActiveServerPages,点击“允许”。
+ }) g" x$ N5 ]7 w 问题3:身份认证配置不当
o7 @7 |( q' C
症状举例:
! Y2 m _, e2 V/ y" W HTTP错误401.2-未经授权:访问由于
服务器配置被拒绝。
4 f- @, j2 O0 E" ` 原因分析:IIS支持以下几种Web身份验证方法:
/ a4 ~# ^; X9 K6 S
匿名身份验证
& J8 p, i% i9 B/ b/ ?8 Z" P
IIS创建IUSR_
计算机名称帐户(其中计算机名称是正在运行IIS的服务器的名称),用来在匿名用户请求Web内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的
Windows帐户。 基本身份验?
' {4 D0 q+ k# X6 W, v0 l 使用基本身份验证可限制对NTFS格式Web服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户ID的。用户ID和密码都以明文形式在
网络间进行发送。
' b f2 F; D# g/ @
Windows集成身份验证
3 `) b F1 m' F) Z
Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网
环境中能很好地发挥作用。在集成的Windows身份验证中,
浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。
/ S" c( z/ y9 r; y$ @8 I
摘要身份验证
A( i3 M* m5 G8 U# j" t; P 摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成Windows身份验证使用的机制),其中的密码是以加密形式发送的。
( P. G+ O/ f) i .NETPassport身份验证
% ]2 D! M2 C9 q7 ]% F/ s1 G3 i7 Q
Microsoft.NETPassport是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了.NETPassport的Web站点和服务时更加安全。启用了.NETPassport的站点会依靠.NETPassport中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了.NETPassport的站点。
5 y, I, w |$ ^6 f, U! D z
解决方法:
- u' B: `. O0 q; `8 A5 K$ a
根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性-%26gt;安全性-%26gt;身份验证和访问控制下配置。
' K, v1 k: ]% ~- o/ I 问题4:IP限制配置不当
4 e# D' X ]; x3 G9 ^
症状举例:
0 N. D2 x; u5 B: a+ J% a( | HTTP错误403.6-禁止访问:客户端的IP地址被拒绝。
3 @8 D. J! | Q9 Y 原因分析:
8 V5 @ m/ U# Z% K; ~
IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。
0 v; A! g! H8 ?" K7 K 解决方法:
" F0 l Z T& I 进入IIS的属性-%26gt;安全性-%26gt;IP地址和
域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
7 K, v/ K0 ~; V
问题5:IUSR账号被禁用
' H" n" |% K6 _6 I1 g
症状举例:
0 n/ y3 `7 r1 R! \7 i9 ?
HTTP错误401.1-未经授权:访问由于凭据无效被拒绝。
# C+ `/ I/ v- c2 _0 @" b; l8 [
原因分析:
1 b% `0 U- B- Z$ m# T5 p4 C
由于用户匿名访问使用的账号是IUSR_
机器名,因此如果此账号被禁用,将造成用户无法访问。
1 [% L( q% ~3 W0 k 解决办法:
4 |# z: l8 I' d+ S R) r6 p
控制面板-%26gt;
管理工具-%26gt;计算机管理-%26gt;本地用户和组,将IUSR_机器名账号启用。
2 q2 @. j8 M6 H+ t# F% ~, @5 d9 J
问题6:NTFS权限设置不当
8 _0 ^3 c2 o& H' ]" R6 x5 y1 O+ L 症状举例:
# S( A2 e3 ^! U( r, ]: b
HTTP错误401.3-未经授权:访问由于ACL对所请求资源的设置被拒绝。
* H4 H$ ^" p+ b
原因分析:
7 I% T. s! @8 U6 X# Z) I0 ?/ D( g
Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
* i; r5 T6 V3 |4 C$ j
解决办法:
7 H; l# ~; A' V: n. i 进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设置这里不再馈述。
* c A- n' k2 m! R4 u 问题7:IWAM账号不同步
8 r9 e& e6 G) k$ R! `* n0 j
症状举例:
( C$ S: ?% t, m HTTP500-内部服务器错误
0 g4 }9 f5 H+ I) h+ }( ^ 原因分析:
" k: R2 |, b3 M+ f b IWAM账号是安装IIS时
系统自动建立的一个内置账号。IWAM账号建立后被ActiveDirectory、IISmetabase
数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由
操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
* O$ S; w+ y0 _4 ]+ [+ w
X' d$ V7 c, }! A( F, x 解决办法:
@0 E% i7 p" g4 R/ E4 A2 g. P l$ V, Q
如果存在AD,选择开始-%26gt;程序-%26gt;管理工具-%26gt;ActiveDirectory用户和计算机。为IWAM账号设置密码。
2 F) D8 A5 e3 x( i
运行c:\Inetpub\AdminScripts%26gt;adsutilSETw3svc/WAMUserPass+密码同步IISmetabase数据库密码
0 c: B: S8 n9 ^
运行cscriptc:\inetpub\adminscripts\synciwam.vbs-v同步IWAM账号在COM+应用程序中的密码
: L3 R( t- R t7 P+ }3 s 问题8:MIME设置问题导致某些
类型文件无法
下载(以ISO为例)
7 U, A8 L. H f4 F
症状举例:
& d# b" d# T- }0 b4 `, R
HTTP错误404-文件或目录未找到。
( O* ~4 P6 C" B7 o2 @: H( x
原因分析:
; p. S" p* h; q2 n* Z IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。
0 N# ~( j0 n7 C# ~
解决方法:
1 K+ C4 G! b# ], R
在IIS中属性-%26gt;HTTP头-%26gt;MIME类型-%26gt;新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
8 M) ]8 s! j; Y6 S: ~ i 另外,
防火墙阻止,ODBC配置错误,Web服务器
性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。