找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11690|回复: 0

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

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。# P! z7 ]; a2 H( b& d1 b

  F/ [" o9 k9 U  v7 o/ T问题1:未启用父路径
' F  F3 k, s7 u- V症状举例:
+ C6 b$ U: d* f  S1 N2 h7 _& t! z2 F! P. m) v
    Server.MapPath() 错误 \'ASP 0175 : 80004005\'$ ?4 c3 q: {0 i0 F

0 i- v/ W; C. ~+ ?8 X$ n    不允许的 Path 字符) V& l+ t# D6 o

9 d( T/ g& k: L( N    /0709/dqyllhsub/news/OpenDatabase.asp,行 4- O0 w+ V9 N) W2 c$ i( x
2 g6 c7 O6 L* O6 O# `0 _% O2 g/ q
    在 MapPath 的 Path 参数中不允许字符 \'..\'。
. u; D% j$ z; q/ y) `" B
, J5 u4 I4 c+ R" C9 _
; w+ A" t# C5 n# y6 Y+ u2 D原因分析:* c. R1 G+ G9 M1 `& I

3 f1 Y/ L# q8 p8 L& ~2 A  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。' d( N, n2 ]; n8 f% `; k

# L2 W9 G7 ]4 c* S/ O  w解决方法:) h1 ?' T" u& t; L  C8 f

) b. X; M; S6 \! O  B+ U0 ]' Q在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
! t  J0 r, f9 C: m0 _
. l$ l1 u0 v7 Y4 p9 o7 \9 D0 M问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)) ]" _, {, p  D# d2 {% Q' h7 W

" ?4 T8 E( A+ g& x% R' O症状举例:- `& o# V% S- L/ k, V5 r- }! |1 v: l

7 ~7 T% q3 V- q, kHTTP 错误 404 - 文件或目录未找到。. C6 d5 E' j* n2 u# \
- f3 L: X, e- U; p  F6 d1 [. r2 m; {
原因分析:+ g5 \9 }  M9 o; k
8 P# P5 m5 t4 Z
4 E8 h4 |9 ~. n- {
    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
- _4 c3 m. _* u
8 ?3 C: a& [( K3 s0 ^( M9 l解决方法:
* {7 R* T& f, \- [1 m% h: j: P
, ]+ B: Q+ b) V; ~7 @: T0 r' n) z在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
  x6 V/ `# g" d) j9 }6 ^# M, T7 k
问题3:身份认证配置不当
; K1 G; k+ o4 R. A3 w# ~& d7 U3 J( u- I, X
症状举例:' l1 ]: k; u9 F  q$ w$ @% @" }& U
8 f- x- M1 j- p6 o7 ^% K& ]. c+ F( g
    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
5 q$ G1 c  ]% W7 d/ [; V: U! ~9 A( Q) n8 [
原因分析:, C  j% @4 _5 ^/ m: `
: y3 M3 l  p8 p
    IIS 支持以下几种 Web 身份验证方法:, C4 V  w  V( C
: s. V) i% v; z, Y( D# E
(1)匿名身份验证6 [& @: E2 K* s: o5 S8 ~. u" z
' J( f" Z' f, a
    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
8 }1 f" a& S( Z8 Y; _& y# [2 u( }0 g9 X$ f% C3 c; X
(2)基本身份验证
6 K# C/ c" P2 ^" N# C' R) b/ D7 ~9 d# c' D; a9 O# k7 B3 A0 v
    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。: f6 V6 Q1 d& L$ O2 c, r
& ^; E4 E* c5 o/ b3 T! w
(3)Windows 集成身份验证; A3 m2 y3 f8 e9 j" Y! j3 h! ~

  \# \% g- y5 B    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。. C- @' Q, ]. m! R
7 T4 k2 G8 t7 [
(4)摘要身份验证  ?- j6 r6 M7 s

: h! J' c. L9 }- D$ E8 r    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
! S2 e2 @3 I2 D7 N9 B' v6 H
9 V5 s3 c+ d4 m/ j.NET Passport 身份验证
& A8 M! C! F( O8 A' x: N7 P4 J5 O3 q$ K
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。
# w6 h; z7 I; t% E5 U# c- o! n. {% e9 z
解决方法:
, R0 Z7 m, u0 J# K4 m, F- e) }3 N' f, R- J3 I* ]# {* H: W' n
根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。- F* s$ O2 J/ m0 [+ `5 I
# K, x$ k' p: b$ j, x0 Q8 e
0 B/ _" q! ~  d0 U: O4 S
    问题4:IP限制配置不当
3 M+ m6 p/ X! r) C9 h& K4 B+ z4 E; T
症状举例:3 |/ T7 ~1 c, m9 N! @5 `: |) g) M
5 s& @6 [! ^, @# [4 Q+ H

! k7 ^* F4 o( Q* W% }1 {    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。! G7 }! y7 E+ h5 n& T( y/ I# i% \

; a' ^' I# W3 D, f原因分析:9 B, d9 o% |* T
  D$ _* _( ^+ r6 @
7 x$ ~; @! d8 |+ L
    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。( [# n- T  r  S0 ^
1 }5 ~5 H) L& {& B1 t" I! v  y) B
解决方法:
6 y3 ]! t/ ^6 ~0 V, O  F! ^7 C4 z! E$ R/ G: g8 R  r: P  Y
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。# j- W" Q+ B$ K( ^+ J7 H  v

6 ~5 t7 i6 v1 |2 H( s7 m9 c/ _问题5:IUSR账号被禁用
3 \2 e5 h. V( |  o7 E5 C6 n3 }( @" ^/ S% q; r# ?2 u5 X
症状举例:7 T$ r0 C" }$ H! H, I
, a" }' \' C! K7 B7 j6 ]) Q

. j5 I/ x3 U( ^; S    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
4 c6 W1 O9 k8 G0 d9 F+ l" D9 `5 d& h3 w- c; I8 \' _
原因分析:# \2 j5 p2 D* H9 c% O. m# I

+ G* f& ]1 L; K8 p" P6 f' u
9 O" s! B. a0 U9 u. [    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
6 X$ K( @2 f  L7 ~! _7 i/ F1 c5 I9 A; q9 I
解决办法:- p& |8 l$ N: v# U

3 E& l- F. i' q1 p# r控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
9 f( h# n0 ~' O. I' D% ^1 D
/ J+ |, c* h, f7 b: @问题6:NTFS权限设置不当
1 i" J% k& I, y6 T: l) p  v# p症状举例:
: Z2 P. z: A7 v, A* ~% w1 ?0 ^( u
4 ]; ~5 F" s, O9 ]( x# t5 @4 ~. O( k$ @: T3 @- e( l1 Q2 W
    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
! m- ~. i* A* w1 l# |' M$ B
6 ?+ ^: F- r' r原因分析:
( `  q" k0 s3 ?' i
1 m4 t# ~; z! q
+ n/ Y$ \9 q6 P/ z/ [    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
9 E4 r1 f8 p) J! O$ `, g5 h: d/ P/ U
解决办法:
8 S( v) g! S# |* O, G8 M
9 a. E5 M# n8 f0 Y$ N6 v
$ ?% C- T4 H1 V    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。. g; ?# |# @! _; y* U# T" }; n1 @
$ a) U+ J% i( t2 K; v7 ]
问题7:IWAM账号不同步! ]$ k* _1 p! h
4 n" A2 L# u/ x% s7 S- L
注意:这个问题经常出现!!!!  `  S- U0 k, |1 J) C. Y
症状举例:1 b% l# e* ~1 M$ T- P
5 N! O  P! q) ^( u0 a

- @! D  L$ T" ?4 `: @5 N9 r    HTTP 500 - 内部服务器错误% Q: C+ k' Y& {2 \" d# G) _0 g# z
' A8 h, x  t( ?4 I; H( c
原因分析:* M; e/ f$ o! A
1 l* D; [$ u5 @' ]* P6 b, s, b8 Y

9 Q) T6 Q1 O( f' ^' s$ I- D    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
1 C$ }% W  k4 d4 J3 H/ D1 s) N5 C( P  S! D: b  [4 [. Y
解决办法:
( Z3 T8 P4 ?7 a6 [6 H
* Q* \0 D- {  _; x
6 z; n$ n1 r% o% ?' O" j    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码) y3 n( A1 }- Y0 a& r/ d5 B3 ?8 I

$ i$ \3 t5 y% y/ l, Y+ I/ k问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)% [+ O$ n2 F  t0 l$ }
  Y. K% o/ S* Q7 f" ]$ O
症状举例:8 C3 N& H, Z6 _; x# U. d( \

; C- r" x2 p/ G, Q4 A: O    HTTP 错误 404 - 文件或目录未找到。% A# G7 F; u! u
) t9 P0 L. T6 f' `3 Z* g7 e3 T
原因分析:
3 \, G: h$ B. E( J2 k2 G+ n8 r4 o$ G8 t7 q
    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。* h/ q! J: H# N. y3 j. O
! l! y; Q/ r* b2 r
解决方法:8 W% l% X7 z7 A( m& Q' ^

9 V9 P' W/ k7 k, v2 \: J2 K    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。0 j& d2 Y5 }$ ?
( B  H; J1 @- U1 Q8 I* [% d
另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。, g& ^2 ^: `: T7 [
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-10 10:36 , Processed in 0.067658 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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