找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11722|回复: 0

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

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。
; O, Y  w) G7 V( j3 M; E
6 `% \) h2 p. i/ b& g* o问题1:未启用父路径0 @% Z% ]- H' }! @
症状举例: ( J! c* t+ F% H* U

# f: U5 ?3 Z: L, |6 S    Server.MapPath() 错误 \'ASP 0175 : 80004005\'- p# l, U3 a0 ^9 n. ?

( F3 Z; Q* p! W    不允许的 Path 字符/ n& k( w3 |- `$ I, A: ]
5 }2 t+ i( Q" O: G% b
    /0709/dqyllhsub/news/OpenDatabase.asp,行 4
1 e7 D' s* C; J
/ p' k+ v" w9 @9 ]" g    在 MapPath 的 Path 参数中不允许字符 \'..\'。
& X0 T8 U- i* ^3 @& f7 [: g
( S# x, \6 c  x6 y1 a5 r1 m2 c  B' m8 E. u2 P8 d
原因分析:, k) H3 E9 d5 N3 I8 M) {4 \: V

& e3 @% k4 @* u- w  o' A8 n3 d+ B  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。
5 C5 v% G8 _( X( |3 v
' w( E' h0 ?. K/ c7 b# J解决方法:
# P* _$ w% f" i6 t% t6 f  i* ~) M- h2 [. n) k( ~! m
在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。, q, H% g. E& N9 k
5 c  K; a0 Y' d- A6 \' q* I0 a$ i
问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
+ L6 d8 s4 q$ ?0 ~" ~5 v4 z
8 M7 c0 x  ?& F2 k症状举例:. Q( O1 {( I* d8 b
1 o2 M5 V4 |& c) c& ], O9 `
HTTP 错误 404 - 文件或目录未找到。4 P4 J3 T5 T. D; @* {6 x; Z  n3 _

3 I0 C8 s% ?  p2 w6 j5 y" B原因分析:
: o, V7 k& @5 D- W0 |& V  S
' v! c) Y1 \/ g# h: n( Q/ T8 f( B  I" t: B/ Q, h- k! O5 N$ G
    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
, ^  `0 S' d5 T$ |
: g+ v) K0 y/ N: I解决方法:
5 G: ]; r- W# R  O; e8 E6 g- P4 g' i. Z2 I
在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。! S, S9 L$ {$ l# J: D9 z# F. W
" m9 e: w3 M9 @% {+ n/ o
问题3:身份认证配置不当8 P+ M& w1 y$ M
$ U" g5 g( M9 O$ Q5 q% ]
症状举例:
: e; N4 B* ?7 V" Z, ^. ?; {! B  l3 C" V/ W; P$ G' @
    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
3 l' S5 f- f* U: W9 W) T( g9 L/ O) ^% C0 w
原因分析:% n+ Z/ a2 P) t. P: m1 z* B

1 B; o  S. m" G1 @8 Y' E    IIS 支持以下几种 Web 身份验证方法:9 c; G: o) l) N0 [, @/ I8 J
5 l5 }3 I0 n' h/ S) h
(1)匿名身份验证
- Z4 V7 Q) Q. S  `% ?, |4 H' u( y
! z: [1 p$ ~& z: q& p    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。2 p6 ^- e* y+ h! q$ X, [

  n% }" A; ~, m- S(2)基本身份验证
5 a5 \! ~. }- I5 A- s0 w* t  q$ l- M  `: \+ L: L7 y
    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。4 E7 G0 @. n% h3 s; @3 Z, @- O

4 B! s  ~" f) n# E(3)Windows 集成身份验证# ]9 r6 N0 P5 g2 s( k( j0 p

  [, `% \& y- l% _9 O7 l' O0 V4 p: t; G; T    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。/ i( A( C4 Y& {5 ^2 W$ Y( E
  B6 m' O+ b/ J+ _; o) Q6 a
(4)摘要身份验证* h+ M1 s+ l: t$ M4 \

  Q8 ]5 d" z( y- z    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
& u4 `0 f; ^" B2 F0 ?
1 l. j! f# ^1 a: q.NET Passport 身份验证
9 U, x, W8 d4 \$ j, X% c
8 J/ }# g7 O& s3 c5 P" {Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。' m7 v1 `& V* T1 @/ e3 M1 j
" M2 C3 w3 V/ C7 c* g
解决方法:
0 B8 R& X' t$ P- D8 i% I
+ y  y0 E1 v" v6 V根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。* f% i7 h8 ^. J. k! e
  b5 q( K6 O  Q- ]5 f* b
' F4 C& D7 @) ]" d& v- t( w8 x: k, H$ x
    问题4:IP限制配置不当
8 E* E) t/ O3 i* K4 B& [) _" W* q" Y* @! H& }$ ~8 q
症状举例:! K; ^$ l& Z/ t/ ~5 ?6 `
/ T/ a( i$ M% X2 m& h8 S# I
% B; G; Y0 g- q& A4 n
    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。8 u2 r2 Z0 d) V+ R6 M
  [$ Y$ ~5 W  T( _! O6 L
原因分析:
# E7 t1 |1 `: L5 F% v, f' H0 x2 j7 E; k% O, }- @3 P6 h- b

# \: D  e  f2 W* }$ T, L) n    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。# b" u) D6 I. @) ?

8 V% G  B2 c5 u& B$ q) d解决方法:& w+ h0 z6 |7 @# B

0 e6 t+ T  H9 X进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。# i6 R% Z5 b2 |& b: u# g
, N; |' @+ V" G: y
问题5:IUSR账号被禁用
5 m7 C: h/ R; P7 @3 o
- h9 X+ Z$ B) A$ j5 X! i症状举例:: m/ G  ?: Z: M- h' \8 B( O- b

8 c; s! o+ U+ d- J9 B/ N" s( {
7 t3 i6 m5 {/ F7 E0 ]# R    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。9 s; ~' U3 c6 k+ F6 S

6 \: G0 J9 A4 t1 [% v原因分析:
9 |8 Q4 a, U4 f( @: H: Q; A3 x7 A' g3 u* X

2 F& G# [1 X/ t& S5 {% Z& Z6 o    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。) q$ J7 N0 E* a
$ C7 b' s4 R+ z$ _* T8 P
解决办法:$ p2 G6 d4 _0 A2 b7 v8 l

& N8 _; R- a% ?1 ]3 H' z控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。% L: S3 O/ e3 M) I8 j; s( G3 M
+ m, R* w6 q. Q/ L% }7 G
问题6:NTFS权限设置不当4 c: }$ z+ b5 q
症状举例:
7 ]( P, ^! R0 c+ `' A: s. _4 b2 L. L
# j/ \. v. M9 I3 R5 h/ {$ R8 z- m9 v, s. e
    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。2 m- x: |' y6 E* J& r

7 P0 c* n$ l: b' z3 V原因分析:, d! s+ C& B) N: E! n) T% b

( @. ^- P, }% @3 o' S% @5 v/ C3 u# z$ T( c# x
    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。9 G$ K. y' _, a, U( |+ m" U

. l1 `# Y7 M* a* s8 j* N' ~# d解决办法:
4 F# Y- E# `  h% p4 y( p/ }8 P# a* K7 k' i1 M; b
: K6 |- S+ e% S5 K* w! T$ T
    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。
9 }* @8 a. c/ W  @+ b- p
* P: m9 [3 V% \9 G问题7:IWAM账号不同步
. u+ i/ i2 u4 X& g" s) ]  {4 G+ X8 ?( d/ w; Q
注意:这个问题经常出现!!!!6 Q8 B* m% F( J; Q" i& W
症状举例:( |( K$ h& o  v' p8 \8 a
9 y+ Y9 T1 h8 w. D/ B

, p( |. @/ ]  y# w3 d3 m% P    HTTP 500 - 内部服务器错误
1 i8 h9 Q, ]4 y( ?3 r: h/ X: F; Z6 ?4 n6 n- }
原因分析:
# g8 E7 V( Y. P/ \7 {8 O' g( |& \+ D8 n" M
, K! O4 O  \) Y7 w4 n5 h. |
    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
1 s, o' ~! H. O5 r" d( H; U! n6 e
& r1 ^/ f1 A% b# l+ e解决办法:( e( X& [1 g; U3 I  }3 k

# y' L. R% u! V) ?; O0 y, d  D4 I7 M: h6 w- [: \' m
    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
/ U$ N+ C9 A7 n2 T
4 w& P# ]$ a3 X问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
1 }5 Z- ^' X- r  H; J% G0 y5 b+ r
) m4 }4 R# U/ L8 e" [: M症状举例:' u% M9 ]: d3 R, l; k- V

8 L; \. s5 c2 ]: T5 |- f0 D    HTTP 错误 404 - 文件或目录未找到。# b: O& U. R, W, V8 s1 M

3 X5 n" j: N4 d6 d1 ^原因分析:
  T2 v; N2 J3 y5 @% [, P! N  p* i, ^) }) Q; R) G( f" z" ~
    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。8 }" S+ R% h" s# ~( s5 {
5 W9 d& [; k! L; i* a2 u
解决方法:5 S( `! b$ S7 N5 B0 ]0 p
& D+ m  Z7 |+ W$ q
    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
7 m* {3 E$ Y$ k8 d* q# t
) B: I. ]+ v) R0 M% M% ~另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。
6 m0 \9 ]" l" C& Q* @2 ^) R/ W' D
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-19 11:53 , Processed in 0.054366 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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