找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12548|回复: 0

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

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。
( u; W, }# U% m! Z$ B( I/ p+ a: |( T4 X+ Y0 W/ M$ Z# q! }
问题1:未启用父路径! R/ [8 Y, H/ m& Y0 n, a7 D. h" S' a
症状举例:
! A, P. q% u! M
2 L  M; P+ b1 D6 N, f; l3 Y4 ?, }    Server.MapPath() 错误 \'ASP 0175 : 80004005\': M( j- p" i" k* R( C3 b+ N

8 R( y6 x6 F$ V: G! O    不允许的 Path 字符
  @- w/ K1 w  R( Y9 t" v* v
, P" n/ U' l2 N' C  i$ o( o    /0709/dqyllhsub/news/OpenDatabase.asp,行 4' v* T- h3 ^7 C3 G) _2 Q6 R$ b" q

/ O+ R' B+ G6 V$ ]! H0 [* o    在 MapPath 的 Path 参数中不允许字符 \'..\'。0 _+ m2 r; W" z; q( j" \

9 Y0 s6 ?5 K7 x3 D
# Z. R' q' {$ k0 ]原因分析:
7 U3 k6 H1 i$ P
: \+ g: i; [4 y" g/ ]  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。& t# i  `: t, g" e

# P# @1 d# ]) N% [解决方法:
; e! H& b3 R. E3 G
: B. D" L0 N2 |' b! m# N$ q; H+ c3 Z在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。8 u; J5 z2 ~* }  n7 G+ u4 X* X

' z4 k1 W8 q) N1 J& R  C问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)% L$ _% v3 i  h# m& ~
  g) f% B  v5 A  C9 k' Z8 O" B
症状举例:
/ {1 M  {0 G8 m1 q7 E8 B( V7 ]3 d+ u. ?  d" D0 N$ @9 S; L& I
HTTP 错误 404 - 文件或目录未找到。5 E$ x- N; p. g0 _4 ?+ x

' |, j: j- L6 j( J7 F2 P% a9 G原因分析:
4 w$ i7 p  D5 `, H5 v* Z( d/ R: V
5 m8 O/ n" e1 f6 A% H- i$ f
0 k7 U; v6 }6 D- ~9 e  A+ P    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
$ x) Z, g* U$ Z3 v) w7 Q7 ?, \( Y& |* ~- z. X' K- G' m0 _
解决方法:. _, b5 D/ @  O1 A
8 U5 _9 s6 C7 h# `3 K% n/ I
在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
/ \: m  e: H" H. z) G9 U& I" I* [7 l0 G! w  D& k
问题3:身份认证配置不当" s% i2 Q! R* _1 t% s- r

9 k! n8 x* B. G; a症状举例:
, w' ~& U+ o8 O# P  t6 ~/ m" `  s( _; C1 K* N
    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。% [* u# [, a# g: r' e

0 K' ]1 D# q- r4 ~; f/ W1 ?原因分析:% k8 C% q, W: f2 k+ ~5 G+ n

2 A$ W) [# e+ c3 l; x% b    IIS 支持以下几种 Web 身份验证方法:
3 n' D- o2 f1 S3 C; O- i* ~7 i) X) M9 B6 Y$ o; Y* ~
(1)匿名身份验证
9 T! F( F2 R! u
7 e  H; a8 R  l6 p& r" T    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。  b( i# ?1 E6 E2 M9 s) y7 N
+ l9 A1 c1 I5 d5 o+ l. l' d
(2)基本身份验证: r% I' k0 b0 f7 _7 ~
6 _2 J: K( l" X! O1 V
    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。
* ]# m" A) C% X, _. q7 h6 [+ B2 G' m' w4 e1 Y4 D
(3)Windows 集成身份验证- T  ~8 m4 P1 @$ Z6 {

/ e& v8 `6 F9 w" x1 l/ p    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。
+ x' A+ L2 F2 M& F% v: Q4 M. O- c' @3 T( @/ N9 J/ u5 |
(4)摘要身份验证
* U0 Q) h# A+ |) o
: ^- ?$ {# _. @' q    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。) T+ [  B3 K5 j0 \/ I

2 X# m) B* ]& w: B0 D2 j) Q.NET Passport 身份验证
5 q# h$ r, A2 A: ^0 a* k, T  N# r  |6 K7 D, v( o
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。: z  g4 B2 d: s9 W' t; P7 X

% \1 g! ]: [. X6 G5 @0 o解决方法:2 |  J0 c6 q' a/ X
0 q) t) N* ]2 T! Z
根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。6 C! p  l; x) P6 L% t. s
" K& ]# p! @- b: G1 a3 }- K. \

) ^6 u% C. K, |" h; V    问题4:IP限制配置不当* p: h3 e, W8 g

5 p+ L! O2 P( {: |" `- h# V& i症状举例:, A. K! T* h% U! Q
2 b1 c5 e4 ~3 n+ W& \, q8 [/ n

; c7 v3 i) [( b' {  g+ O    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。  u6 ?, M, ~$ M# e
( p- i& s: U/ j; J: N
原因分析:
) m+ v6 D$ S; T5 }* G* ~- E; O0 M' y$ d: C% c8 X3 Z8 z3 L5 |% F

/ f6 l5 y% N) m5 Z2 A    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。& S7 [6 s# }# a7 n, `4 ]
9 J, E9 ], w2 T/ p& o
解决方法:9 |# a, ^, }6 X0 Q9 b) t
7 _1 r1 m5 Y2 }( b# z0 k
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
: N! l2 E& W. G  `* z% k, m+ P" j6 i! i- y' f; }9 E: R
问题5:IUSR账号被禁用
( z% r! G1 t/ F* v% N
3 [4 H3 C# J$ B- q" A) q症状举例:9 D: J2 Z% q3 S' h0 a* I2 U4 Y

& T  m9 o/ X/ n5 p. _! {. M
( f7 @; M# A$ c1 a    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
/ k% [9 [9 G9 O/ O! k
) n6 U( |) b5 M, e原因分析:/ Q" O$ N( F7 j" w" J9 [! x' X
- }  P, j3 `" m5 t* R; X
# C# s2 V9 r. T- I" Q
    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
' I* j+ O' U4 u) c7 L. h
' X. T4 M$ Z8 p1 o( s解决办法:
/ r. ~" \0 w  e4 a* y2 ~
& Z& Q3 @& n1 w" Y3 ^) n) y控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
, Y  `5 d) i- b: J8 K; U5 T5 I( S1 T5 Z
问题6:NTFS权限设置不当- V" }: j6 T: X/ z/ u; ?9 L
症状举例:
5 B' E# N) q7 @, j) n* L
( J& Z! U# f3 C. G( ]
7 u( C9 Z9 k0 Y- q  Y    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。9 J+ y- V  C; @2 \" F7 c- T  F

6 L. W$ Q% T/ Y1 ^  e; Y/ _原因分析:
. i- S/ x1 A0 O$ V* l' b0 X( `, e, T' z" y9 e' p$ ]
0 p; e- H7 @# F; `
    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
) i$ j1 E, u7 R- r0 v
: |7 c' v$ ~1 e  ]0 z% ~2 @2 b解决办法:  ]" H+ ~+ i2 R" N  D
. [7 i0 f# _/ Q$ r; y

+ a# w0 C8 K* O( C; u) q' h4 t    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。; y5 ^1 ~- R6 \, j; q; h  t% l
* `0 ~) u: p6 ~. u  l: {" m9 Y
问题7:IWAM账号不同步! `, }! O/ E" h$ ?
- [* e( a0 G# I  M8 Q- `
注意:这个问题经常出现!!!!
: C8 z! c6 T- u  g3 h症状举例:
8 I: X4 i0 Y8 p3 V. M2 H# g6 C0 F! u* A
! c. `: t+ p5 l/ Q* H- k+ R- w* O
    HTTP 500 - 内部服务器错误# y" g; G* @& U4 y, a* @' M

* g7 z- o5 s+ \* ~7 ~/ K原因分析:0 o: h1 N- P( m! o9 [6 ?% ~
9 V; g0 c0 z$ B. L1 P4 a6 [
8 q! |4 ^5 N0 X
    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。5 D9 w9 r+ \# u1 @' t( o
% y0 \& O2 Y1 g% y4 W8 d
解决办法:
, j% l% v4 [4 m. U" e5 |+ v" d/ u3 ]& q& Y! q, |; |

; D! N3 b' c) {; G% G! ^    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码5 o8 E* e; A' t) Y
5 w* }" o3 z7 i6 x. E( T! Q1 t
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)4 e/ C. _! [; n3 w# A4 p/ B
8 M" N4 c4 e6 Q3 ], e
症状举例:2 |% ]! p: F' h: A( Q  Q8 B% K, f
* h8 b- l4 P, V  y( \
    HTTP 错误 404 - 文件或目录未找到。/ b* j) r9 p. _/ Q: f
7 B, ]" t- O" z# ], [' K$ \
原因分析:. D5 U9 e2 G8 r) ]5 ?

  @0 ?2 N) o* ^; o8 Y2 e    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。& n1 ]# m+ R) q0 f. B6 y0 e

% K# E8 ?4 ^; V* R- b' f& {" v解决方法:
3 X: Y0 g, z: U
; W9 z  b% H  v2 i! R+ m3 X    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。! i% B$ }9 U9 I5 c. A. ~

% x4 |6 D; ?. I( n另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。
5 N4 _# `; S% G% q9 W
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-3 03:57 , Processed in 0.059409 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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