找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13470|回复: 0

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

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。
5 o" B$ w+ |$ }" i7 b  c# u& T' P. l
问题1:未启用父路径
. V) P' G9 E" ]6 }症状举例:
% h" `( m4 \' L6 I" n$ T" p
6 `: Y) n& k6 C9 Y4 s# ]    Server.MapPath() 错误 \'ASP 0175 : 80004005\'  J0 ]0 U3 a6 |  Q# E3 g

/ _* Z1 s9 \  x+ k& j    不允许的 Path 字符% ]# n5 B0 ^* A$ ^- H8 {. y

4 ?( @, b6 l7 y$ l" f; }7 r    /0709/dqyllhsub/news/OpenDatabase.asp,行 4
  C) ?( e6 [! M6 G
& W/ E; J1 K$ Y9 C/ j5 C6 X8 O    在 MapPath 的 Path 参数中不允许字符 \'..\'。& g& o/ [+ r1 Z9 \( M% @
* H, d6 W2 w% {- k

. C3 M% A8 y+ V8 {  V原因分析:
. D9 @, c, s+ F6 k6 N$ E) [  c& a% h) a
  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。0 _/ S* b" [6 A2 `, l! `

, Q7 x; v9 V( h  I/ z解决方法:
& i8 |0 E% Y- U- V
9 e: B. f: X( w在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
0 W$ f% w3 R* ?# Z3 O4 k. t; V3 n' R* s( A) B% s! j
问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
9 I$ l% C: \3 c- V/ r) I# _8 t# C2 Q# m$ W6 g, c+ l
症状举例:
0 [0 }- Z: G% L* z  _2 x5 @: z3 H- {
HTTP 错误 404 - 文件或目录未找到。
1 ?% Z  v9 N  G" z7 {) M9 I* K" K! V$ N: u* k+ t0 u
原因分析:# O. m3 D- {0 b& I$ }# F3 d

, U  y; u8 R& u; \* B; V# u2 r, f$ d0 d$ i) E
    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。/ ?. h" _# g# s$ m8 S9 S% t1 v

5 e# R0 h+ ~5 x4 ^9 |解决方法:7 N5 v2 ^) X. q) `

# ^5 v' y- V0 \: J/ C/ t在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
6 m6 W! y8 m. e& ^7 c& k" p# _7 y. b( s8 _
问题3:身份认证配置不当4 ]: _) r# B8 J7 S

5 ?9 a" P% w5 r# P; }症状举例:8 n% j: ^3 [2 r8 e2 y! F
$ t1 q1 J$ K0 K2 Y; u* \5 G
    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。: L+ k) [; k: n" X
* T  V. B2 @  M4 e* o7 {: i8 G
原因分析:' ?8 e) X- ]/ z8 {& L1 J2 S
7 h$ z0 y, i* t/ H8 N
    IIS 支持以下几种 Web 身份验证方法:: o& ]( f3 ?* Y! Y* {, Z

' V) p+ I1 u# p# S$ |/ w(1)匿名身份验证4 Q/ K' U: v* k* a- J8 {) g

9 f. n  `* _- J6 J5 ?+ U) k    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
* I: x% a: T) o2 t! ?( S% g( [1 A- ?8 k' ^: w* a
(2)基本身份验证
' D# n7 F; z# C' l6 l* J0 _1 H
    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。
- S; h( H! a) U8 r8 [& c5 m# }1 Y! K8 ]% l2 L; j0 W. m3 l
(3)Windows 集成身份验证# V0 @' @4 ~: K7 I
! u2 a( e  g, e3 ?$ H& q
    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。( d6 p( z8 R1 ]/ M8 L7 ^" i
: Q/ x7 ?* U/ c# ]3 o
(4)摘要身份验证
5 y- @) P& l# n3 F$ e/ j! o5 I5 ?' e
    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。& ?4 {4 R; M% u# t3 T3 z
! d- j3 l% W1 [$ a6 ]/ d' M9 ^7 G
.NET Passport 身份验证
+ g$ Q! f; S5 _/ A1 M, I! O- b9 \5 {, p3 e! Q& A
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。
  D& l7 c& [7 {) T
' V* _3 S8 c, Z6 p9 V0 V" ~* y解决方法:
7 k" e6 L( E+ A0 u  Q7 L+ ], G: {0 g! p$ ~
根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。
. T) r( I& C, `. l" G" `* {% K% b/ l
9 u( g8 P# \6 I  z7 S8 z6 ^+ V, C" K$ c* Z& z
    问题4:IP限制配置不当
/ `: s$ s3 G0 t% h5 v3 O* H
: L; u5 P3 B8 B1 _. `* }症状举例:+ z# t2 ^2 E! }. U

5 g9 J# h: E3 w+ |0 N. H
0 |" ~8 C( ~1 \3 j1 M, F$ y9 W    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。
/ E' H, Y+ o6 e, [% i, G
; B- W& `5 s) u5 D原因分析:
; I/ E  B1 {% o9 N6 x! a- q& b, v! U2 @
8 R) G9 }$ m& Q4 G8 m4 |, X0 i
    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。: C. ~7 W2 U' n  F% s' J! l

  _5 _+ r3 B6 Z1 z# v- N$ b7 G解决方法:
9 H# R/ ^: ^3 x. ]: z, Q6 J1 `# d% y  P
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
# h+ ~) _: P$ E5 C# c, G: ^. u
9 O& E) H  }( P) b: y问题5:IUSR账号被禁用
& y4 v, H" R  q/ ^1 X7 y- b- v$ K. N) o: W' |' }4 B7 L
症状举例:9 [' Q! Q2 @( P4 \$ R# f* D" X, M

! k1 Y% G( N' r/ q. u0 n2 I! A! n" Z8 B. [( E5 a* M
    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
- q1 b4 [+ s+ }! r6 t' C5 E; @# e& Z) l
原因分析:
% S1 M# j+ G! v1 Q/ Y( k& T, f, `7 B) ~" y% R$ `9 |' r$ H

/ F7 B7 r  e% a7 t2 B    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
2 m0 J. r# G0 I2 K" \
+ U* O% b7 y; _3 E9 S$ G解决办法:
  ^4 u1 [) i$ G! \/ O4 h4 {5 k* J3 T5 U2 x# `4 G
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
: F) k) a4 _$ D4 R  J8 E7 J9 I4 h; \- ^1 O) g& W; K- T' L
问题6:NTFS权限设置不当. n. G# S* |: O9 ~/ ~
症状举例:$ S/ |- |0 l2 p; l

; W+ [; j* P" x2 F# g7 R* @* c4 ^; B; ?' o1 a* {# g" G! y
    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
6 ^* i4 n$ R9 Y& s& s- a6 e8 V& E4 n5 S2 V7 E
原因分析:
3 M/ ^5 W0 [* b: \
: t5 p, @3 z7 G, x' G) V% H; R4 n! k4 c" L( _
    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。% o! N( W5 g8 e% H- Z
# x/ k5 L$ ~5 m$ j" h  \
解决办法:
4 H& s- d" o4 N3 L5 n' t4 n/ i0 p2 ]7 ]( N, C- E4 P2 Z& X; P
  g% A8 c% k# s) d7 }5 O
    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。
/ Q' H- W! S# s9 [5 V% t$ r! K, J7 W+ F4 O$ H; T& G
问题7:IWAM账号不同步
$ v2 z' m6 C2 u' n# p! c9 d3 E; L4 R6 f5 i4 c
注意:这个问题经常出现!!!!9 O3 d3 h+ W0 n/ t+ |
症状举例:
/ [$ Z0 }, U: a. _2 X
: U6 c: _7 D: R" C3 q$ l
! \! H& Y+ }; X. k9 }! k: N    HTTP 500 - 内部服务器错误# d5 M3 B9 C) g+ P
. t$ [  R" r9 K" U; R2 y' h. A
原因分析:' g% e2 c, D6 O. A4 N
' c2 U' T8 Q  W
' R) `; @: \2 R& a8 Z0 Z; {
    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
( i3 U1 C5 [3 v* }
& R" c, U& Y" J! M$ Q4 v0 Q" K解决办法:
3 M1 l7 y" Z6 [# C5 N% }. n1 W
( z" m' ?' ^! P* a; c. n+ g" D6 E" V! [" @8 B  ]& [! C4 X+ T- G5 C% ?
    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码. O- \8 ?8 B  ?; W# i0 V0 C  T- U
0 d4 I( D" @% S6 u& v
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
' w' Z( j, t, {" C. ~2 X# U; o5 k9 j- I6 q7 H- |' J  S% z2 G2 Z
症状举例:
, Q- g: P1 c, B: ~, O
" t- h7 T1 B/ Q. A9 _. Q. f    HTTP 错误 404 - 文件或目录未找到。
- m6 R& i% E+ t2 ^2 f* T$ {! N9 y7 N9 p1 f5 n; z" L$ ^  ^
原因分析:, i! I- x1 N8 Z4 N) [. ^- R% e- x

& l1 U$ v  Q+ |6 f/ ~4 }    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。2 K7 p$ v  P' M2 s
- g# V* S( U# I
解决方法:7 c8 R- n' @! C4 N# |+ A, W
4 w/ k, Q( a$ n5 R
    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
1 D+ Y  Z6 Y# e6 v
' }  m, s8 k7 r9 [0 V4 ^另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。7 h' @: p3 M3 [1 n+ _' W$ l
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-14 19:23 , Processed in 0.049855 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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