找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14473|回复: 0

windows2003 IIS6架设网站常见问题及症状答疑

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。8 F8 F( o- {3 v) D) l9 x
* X1 b+ M0 \1 g& E, O
问题1:未启用父路径
1 [9 o2 S' ^( v1 B9 P6 m症状举例:
3 f7 i- v$ ]) t  Z, o# p6 }
0 a4 r& q0 _1 Y- q% f7 e    Server.MapPath() 错误 \'ASP 0175 : 80004005\'
7 e- n" ]0 l% y0 L$ }5 F( a8 M, L2 K; T2 h( F3 |
    不允许的 Path 字符
# ^2 K. @2 F2 i) W( D
8 O) \4 ^3 D0 v/ c3 v    /0709/dqyllhsub/news/OpenDatabase.asp,行 4
7 i. x3 G5 w: q% }3 A
& c1 e, G" z: r) ~' j' w3 K    在 MapPath 的 Path 参数中不允许字符 \'..\'。* i0 \% y3 [) D' H
7 Z9 \, X. j3 i" a, @1 t
  M# K5 o- \  b2 q
原因分析:
; r# U6 ^' Z1 x: H- F& m% b
! d- @5 f9 E0 W  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。% H+ N5 h* [# O5 C6 H. U
9 X/ k$ v8 I8 f" p9 ^
解决方法:
# S$ S! L2 n  }9 N- L
6 U- E7 E7 M' O' N在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
6 S1 _/ m: ~6 F' |+ [) H4 }- D. J$ R8 _  }& U
问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)# A3 s1 h" ~7 F5 O# E$ I
7 F5 S! ]& V0 p" h
症状举例:
8 y% ~( l& U  W) U% I  G  q& }
5 z, i* r, l( {% d/ DHTTP 错误 404 - 文件或目录未找到。
0 @) }/ |, W9 }/ F/ P( B
! Z; Q( @9 x9 i9 i: L/ Q% d! ]原因分析:5 z: m/ H9 H0 D
2 k: u) |4 H5 Y3 P7 ?, ^
- |2 y# r5 y' y" Y# r6 {! p
    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。- z' }0 d9 n; c: I
5 i: d# D% i  T  e( ~5 j% Q
解决方法:
% X1 f& w& C9 Z2 X2 `# Q- N) Y
' H9 z% C0 P) W在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。6 n* k9 |* \# N5 D

8 R8 B' |! U& l/ P8 _问题3:身份认证配置不当9 k9 }5 H# _6 Z- g( n
" G! T) k2 |! a+ ?$ ]+ m5 i
症状举例:
- O# K3 C. s9 t4 n$ ?4 s3 ?" I9 C/ z& B. p" d+ k: X7 v5 L
    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。6 _8 I3 x/ y& i5 F: B: o& F

0 N5 s8 U( F8 ^' t8 J' g1 y原因分析:
- D! @0 c: A: c* [2 R% N/ {( m# p
* v: ?5 X' L! l8 V5 i    IIS 支持以下几种 Web 身份验证方法:! X6 }- r8 q" i+ ^& u

: m: B5 z. g: I; Q- c(1)匿名身份验证
( {- o) M# v5 W1 s9 `: U7 r+ C# c+ f7 `  N* X, J
    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
1 R/ b4 Q9 Q- w6 l/ v8 @. ?( _- t9 c6 X4 Z) a1 t
(2)基本身份验证! g: \4 ]# Z/ T& i( n
8 c& P% S8 K! `) E' N9 q8 Q
    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。% Q# U! }3 \) _

: e9 o( y6 {! g! K; z2 b(3)Windows 集成身份验证
" Y  [" u0 l8 O# ^$ w) P
* \: g. Q! ?' O6 Q    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。
/ V. M7 Y) S- b4 g' C& v2 s
6 {' n! @' g1 h6 m2 A+ ^* k(4)摘要身份验证( }) E" S2 ]" y- T" Q; @5 s

0 H% G" a8 D/ d* T, Z    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
& A# |+ I# {# [' _& r) `  j1 x  ]0 P  ?+ J- F6 X- q
.NET Passport 身份验证: b1 T. N3 r) ~' R' _

2 ~0 Y7 O3 ~# k, [) uMicrosoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。( }* n$ r; Q7 I& \' `/ b  J) n

) i# X4 q9 b! p& p& C解决方法:
1 D9 g' T' G: D0 i- C2 x
+ J+ t; i  z; b1 ~9 b; o1 V0 G根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。
- B0 S6 |) p! g, x% D+ o$ E  b
: C) H  t5 ^& Q
* m. M: u0 e, p    问题4:IP限制配置不当( J% @% L2 z. D9 t  ]9 R
! b% Z/ K( E; S+ B9 c
症状举例:$ m, R9 w7 |8 M0 {7 n( m

, V  L& r2 w% H0 E; v) M
: G9 @: u; b+ t  C0 N) H  d    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。
9 j7 U. K4 }3 r: d' c  W6 o
/ L% G& Q: E& F  |$ ]2 {原因分析:, Z. Y  R9 o  J5 G5 ?# L

+ i- E: [1 H+ i3 r  c3 z
6 k6 J1 C7 o. _$ u4 y% X    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。+ s7 F7 S2 D" N) Y  S
+ l3 I' n6 W' U
解决方法:( |% u. L1 R/ \/ l3 I

8 G6 n: N$ y$ V& K: I6 I  h进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。) Q, I8 T4 d& e* n  E

" p3 k- e0 x* I2 o: N5 B问题5:IUSR账号被禁用
* K4 p; I" j+ k. ?
6 {$ I% w. R. W, Q" d: v6 o. {症状举例:% Z& S; A1 N1 Y0 U& R
0 B. e0 _4 \5 p
3 A0 L6 o  t0 e
    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
; e5 @) b* b' i( _$ `& c
6 l& @- o0 Q$ V2 ]# z% l9 ~原因分析:% S- [7 S* B' f! H5 Y" |* c" P1 t

( q. O4 c$ {' X! ?4 J( X9 y% m" x- t3 E  k$ t5 i& o* _' k
    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。2 x% r. Y* C- B( t& r
/ ]3 \, Y+ J. r) t2 S0 e6 J1 b, L
解决办法:) M: i9 d; W) c6 q; X

8 [  ]7 H0 ^* F. R1 Q; p5 p4 c控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
$ e7 P% y! O* R+ G. T: V
' h6 p- j* B* m4 t5 b问题6:NTFS权限设置不当
, e9 s8 ~' e+ R1 u症状举例:
) W3 ^  A8 G1 x2 Z, A9 \  f; T7 D! f- H, o

& }/ T# C6 @3 _% v3 b# R( Q    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
: P  {6 {# y. B! q; s- i' L' N$ Y1 T, G# C" _3 ]
原因分析:
# x7 F; K- Q! S: f$ ?8 g# N5 J" z+ |) x! Q  Y3 \' t0 b
0 d& V) s; @% B/ x. T9 s
    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。' E, U! w% d, @, h
- n! [" T& u: D; h, s* H
解决办法:+ M& O& |% X4 n& L5 N) T

, l1 {8 a# r7 a' Z3 Z! g6 O& ^. _7 ^$ m
    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。
, U- @' l( u! ]7 q" F  }* w! F+ e
问题7:IWAM账号不同步6 m$ L( s, e# I- e& H8 l: \7 \
/ L8 X: i  q: f- ~2 u1 U, q0 o4 w; }9 C
注意:这个问题经常出现!!!!
. b" L' G3 J% Z. G0 s% q$ k症状举例:$ N8 e" _1 T. N- l+ |

: t1 ?0 i% f3 u% p- y+ _' m( N: K  D' G# s
    HTTP 500 - 内部服务器错误
0 @4 d2 Q( q$ l0 e! f5 c% `5 l. P) f8 [/ ^# K! Y' N
原因分析:3 y8 e, |) P' L; \6 Z

. X( o: @& ]- B1 ~; A) o. k7 l0 J" R# J- l* v
    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
: u+ ~3 B6 O, f7 h+ t9 Q/ L$ v2 `8 I" o6 Q0 H
解决办法:* i6 N' K. j) L" |4 B% W( ~

/ Z) q# P( q2 k6 R: i  u5 a: u- C% O: V2 t9 m& {* L  }9 I
    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码6 S: J( ^3 o: H; y
0 S, i) U+ {* _: M1 C
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
7 S+ N. ^" E$ h3 @7 x/ t/ k: v4 v& N5 Z5 }/ M6 A+ B+ X4 ~& H
症状举例:
2 t, P- t7 R( R, p, g9 I7 S9 C$ j! Y! Y- W6 F6 c9 I
    HTTP 错误 404 - 文件或目录未找到。
. _* j" h8 F+ V: P/ u* c
0 o% s( N! Q" |- d& F原因分析:* B# f! z1 e; ~

. w7 Z% l, d- X  A! ?" W    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。
9 C' h! [. X9 V) L( ]2 N! b2 a5 }% r4 W$ _+ s& K
解决方法:
; n5 k" k0 a* t' K
4 _9 c1 u* }6 Y- ~& }7 ~3 J    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。: y4 G1 v; t3 M* i' V6 @

. H- H, D% J; d5 k另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。
" Y+ U$ `$ n+ }- W% z
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2026-8-1 17:52 , Processed in 0.087561 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表