找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14939|回复: 0

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

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。
6 Q% ]2 H* v9 s+ l1 y& K2 `$ H2 h% n+ J' c, o5 p* r& W7 q
问题1:未启用父路径: d' b' c+ [5 K
症状举例: 9 b0 i9 L* p2 \
5 L$ X  O0 B  y/ t
    Server.MapPath() 错误 \'ASP 0175 : 80004005\'
/ l! Z% x& @/ ?* C: M/ X, Z
* b9 I0 p% X- d    不允许的 Path 字符
' S/ i1 t: E; D8 c$ x
/ Y1 }/ D3 h7 \! }5 {5 |  B8 K    /0709/dqyllhsub/news/OpenDatabase.asp,行 4
, g# @( @5 M. P5 R/ J0 g. F6 x$ _1 m" H% f- R/ R+ z/ G. o
    在 MapPath 的 Path 参数中不允许字符 \'..\'。
* k' W; D8 g$ z2 G/ u1 j4 ~6 W3 n. ^: I
: P6 t$ `2 Z! ~$ T, L$ M
原因分析:
$ _7 A( y: U% _  ~  H+ j4 [0 h. y; |: e7 a) ?4 r
  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。- a6 ?! r7 j) P. Z
$ j( h, _" i. t
解决方法:
- S9 V; @% X) e# z
" ~. ?5 t" C  @; @* J# S7 ^; ]在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
# W8 p1 d# g6 T
  z  v! p! G" r4 K( d0 d问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI): E8 W8 D$ \* I- F1 a
7 G' y& P# C! u6 A1 ^9 ]  Y& `
症状举例:
' @, K+ \+ a& z6 f" d
( T5 a. D: J: I  j/ \0 lHTTP 错误 404 - 文件或目录未找到。
+ H6 C# E4 r" r+ {  x; X5 h% Q1 U4 r+ a! C0 w7 H
原因分析:% ~  p* w; Y* v/ B
& c! C% z9 ]) n

0 M% m+ H. p/ K6 q    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。: A4 \! X' `  j

* P3 |, i1 {, E2 U8 M- c解决方法:
4 W& P$ s! X6 Q; z# B& _; a7 k( B* m6 }& u6 q) n' u! Q
在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。0 [0 u, x# p. u- }$ i) S: o) z
9 T3 J* D% \* I2 W$ [  }# q
问题3:身份认证配置不当
  r  A3 C& w4 t$ F! H' q5 _, w  D$ C' c# ~7 h
症状举例:" _  c. S9 z+ X5 r% Q7 A- s5 N7 M) X
: x4 r" Y; \1 R. c4 h, ~- g" H
    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
2 P1 x2 a7 e9 g3 N* B) H6 |1 w+ C% F
5 I6 W" \3 S/ Y原因分析:
1 [: Y5 M" Y$ T4 W
& y  W" W3 o# v0 ?/ `    IIS 支持以下几种 Web 身份验证方法:
* [- ?$ V( n) s
- Z+ t3 g. ]( ?# n& t(1)匿名身份验证
1 Y  ^; K- _& ]" w5 [  `. ~+ C1 x, ]$ ]& P
    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
8 o% C+ x& K, `! x) e. U  r- j4 K4 F8 e9 U  r- o* B+ ?* m
(2)基本身份验证
% g$ O; L+ a  P* w$ B* ~0 G; g- s: Z3 r; P
    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。
) j8 j) O) ~$ a1 S+ c! u' L: Y: g# P7 n1 U' e2 m% {3 R' K" Q) o
(3)Windows 集成身份验证
* x- D* e$ s* H0 D
! g3 B0 Y1 s4 k* \' P5 ?    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。" i. t' z1 N5 Y  W3 d
1 A$ `# B. q6 _1 g/ j+ J
(4)摘要身份验证
2 O, ~; `5 h9 ~# b0 O+ T4 H& C( n9 r# g/ b5 i
    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。$ q) I5 t# c* x' Y3 x7 ^

. R% k$ p  O1 B0 @% k.NET Passport 身份验证
4 Y% }2 o  f  h# H- b% T; h2 i: \/ O$ Y
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。
  D$ W$ @3 Z" G2 A, F/ t0 m" X
) I% c! n9 k* b8 Z9 u- n7 j解决方法:1 R" @% S& V8 r$ |' p) `8 d

# H, O) S2 [4 b根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。, ^% _6 Y; H# c5 N% c2 p/ b8 [8 N* L

, H# ?5 h7 {$ {; F! F1 f9 C: Y3 d& L. s5 p& p" K+ _
    问题4:IP限制配置不当
' n: c1 r4 Y* s& q! ?3 w+ t. F4 f* M" ?5 l, S4 Y! ~: S
症状举例:
; c) l0 ~6 P! }3 U$ P8 |5 s
' z8 w+ p0 h/ |8 U% z
" V2 |3 e  k( Z* H% O1 [    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。8 }2 A' D- a  Y: j

" p# G2 |; c: ^原因分析:8 e+ K0 z" |' L6 B2 ?9 `8 R( a( R

8 i; L# H2 _0 J' f6 F1 _2 [! Q+ W0 L4 U; L
    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。; j, T/ r& O7 f! w
: {  i5 c1 s! g8 j4 M; l
解决方法:
& s) P. V3 X* b, d0 N$ j/ a0 B2 E1 R. U0 V
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
) |7 e# U$ i+ L6 b. ]( w4 V/ d" C. b1 _% }* i
问题5:IUSR账号被禁用
  e. A7 T9 y* w" A/ f
! n  k0 _5 z& s症状举例:
7 x# ?" L7 _0 r3 K
  e& F4 Q$ v  V, @1 a/ `, p* J! K8 ^
    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
, _; L0 [8 C2 d% ]9 i1 E6 [. @( W2 q- _
原因分析:' D- h3 W; S* d2 a

7 u8 d$ H3 ~- Z: m
# K% k/ M, H$ o4 T$ a    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。5 z6 u* v# M+ G) p

# v. }6 @7 i! V" Y8 Z1 ]2 _4 o7 s解决办法:
6 l9 m' ~. L) d/ L& E3 o! W0 F* G0 |) u. [% u
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
# H+ w3 G. q: o  ^7 k% f8 i- M  R4 H- N/ z& L8 B: J$ g* P
问题6:NTFS权限设置不当3 z- o  K' X* E2 F
症状举例:
$ w% C1 Z' f) @
2 N, A8 B+ s* G. c& J; P
( c5 c+ B1 c% `    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。9 E  j4 g' y5 f) r5 ^7 P

4 u; k2 f% T/ t2 a/ X7 D: \+ [原因分析:
0 r: h( _# b4 I6 r& W0 i0 T/ Z6 D9 J' }: p) m; {8 M. G  T( `
2 d8 l! y) H# P, [
    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
  k* X. a) q1 \' J: g' Z
, k7 H( ]4 o+ d' M$ t5 s* t+ S解决办法:+ ^% [5 C: H9 ~3 v1 T$ h' v' \

9 Q9 B6 H# ]3 b1 H: Y$ r7 u/ Q, }5 c9 e# q4 H5 I* H: N
    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。3 A. u& x: P' u/ g/ U
$ a( P  S% x0 \4 w$ _3 t# A
问题7:IWAM账号不同步
* ~' C/ g/ f% S- }, v5 d& Z, }3 B4 V
注意:这个问题经常出现!!!!
9 ]7 r; m3 T. N7 U% D症状举例:
; o3 b( ~( [" C2 G
: m! a! {- H1 f5 T& x- p0 v' g7 _: S4 G! n" r' I8 `. ~, J3 t$ r% D
    HTTP 500 - 内部服务器错误7 r5 c" P5 f' b  |1 Q
' o( k! @% y  ?. ?1 l. |( j0 E
原因分析:
1 p# M1 \5 T# f! y! n
4 F; @+ Z+ k- ?' r9 m& d# l. O( z7 e7 t
, q2 Q+ G9 w# j: x- @* j8 `# n    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。3 y5 T) a- B5 G6 m
. `* ^4 k6 H! G  H. x! f! V
解决办法:% w  w% P: L2 y7 z  D* e0 T  M

, b  }  m6 Q! @; D2 i4 \4 `& f9 a, _. K. y' l8 H; w5 A1 g
    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码! S& F+ |6 k# t# T
9 u' s) s  K2 W
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)3 Z( f- Z' Q$ D, x8 |9 x" }
8 J# j/ D0 I+ W0 Q  P; c7 I* x
症状举例:0 Z( _" x$ ]9 ^* D; v1 \5 A
$ D1 m% v3 N( _7 P9 s% I& r
    HTTP 错误 404 - 文件或目录未找到。
+ q# Y7 @: X* `) ~1 G# Z; u: ]; B6 E1 M
原因分析:
7 h3 D# b4 }, D9 k" t& r
% v, m6 S3 s2 f. v4 U: j, i    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。: a8 M+ E. y+ F8 T! j0 L
" d% Y+ `2 V4 J
解决方法:2 [# }' J5 k3 A+ K( v: i( p

, q4 t( S. M% f# d$ d) K; _    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
" l+ s( o8 X# v  l, g: ^  [4 e' _3 Y( n
另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。$ Q$ y$ h& ~) @  o
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-9-22 06:41 , Processed in 0.072289 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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