找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11304|回复: 0

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

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。
/ `) Y  E1 l- a2 _  I# w4 h
* j' V1 a& L* o( }( x" Z" Y问题1:未启用父路径' C' _+ W( t' h% P( G3 q
症状举例:
  n/ }5 s3 A) d$ r" ~0 I2 d6 V7 @' D5 q" K2 \
    Server.MapPath() 错误 \'ASP 0175 : 80004005\'
0 J0 P1 C" h" _# v( k, m- G. ]: |
% ^$ [0 f3 v" x9 h( M1 W; }9 r- N    不允许的 Path 字符$ U8 B2 E0 R1 S$ h. {- T8 R
5 o% M' z: W+ Y$ h
    /0709/dqyllhsub/news/OpenDatabase.asp,行 4
, T" v+ X) S4 Y5 ], Z
& M/ X9 i/ `9 A, K    在 MapPath 的 Path 参数中不允许字符 \'..\'。
0 S& a( K3 y' c8 g3 l1 M  J4 |+ S( q+ G+ t' W) M5 d

9 e7 j4 V. V; X$ x7 e. K原因分析:
! d. Q- c# y  {; h8 c: K1 Z. h1 _3 r: d7 C& q: R
  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。" V* J8 `+ v. [) O5 f
8 k: L7 M4 c7 J0 J' k# ^! s
解决方法:/ [7 L  Y9 G6 [" l

+ l, [" V7 ^, s3 S$ u, u/ h* U7 I在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。( R# w. W. a! w
. Y5 A, r9 u  u6 _7 z* L: U3 {
问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)0 y! c3 G' _! L2 Q' s* [
; `* e7 F1 e0 y& P- r
症状举例:- e5 n! t' [5 K3 f. o6 r

* f* ?: \0 u: j. C1 Y3 R3 `6 D& E9 QHTTP 错误 404 - 文件或目录未找到。
$ U$ c, v, v3 R1 l, |9 D2 ~) @7 \  ]% s) l3 L8 K# y. K' H
原因分析:1 _. S# m0 X' _# G: s; c, Q) I; |

8 f1 _7 T# h1 I8 e4 N6 k& I1 y% T' }0 F
' S3 R$ A1 r3 E1 \  m+ v# v7 ]4 H    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
: [' ~! i1 h$ E0 w& S' a7 c8 t5 S6 J5 ^8 ^! E
解决方法:6 h+ I' d' O: j( Y

2 ^3 J- i1 P6 q* D. B$ r6 u在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
0 s9 v( P1 g* j  Q. `- _$ S6 |/ N8 k6 O2 J
问题3:身份认证配置不当
; b: }: l# z* A9 l# u' m9 S$ E( O; a
症状举例:
+ B/ e, a/ Y) C' Q9 G% s: I1 b% {* I7 a& C8 T8 s
    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
; m  r# f7 ?. z9 N5 j
6 [% ]4 \% e' `原因分析:
4 n& X; N% {7 @) L$ W& t& A6 h1 U, e/ J" N# Y4 F8 O* g
    IIS 支持以下几种 Web 身份验证方法:7 \* f8 ^1 U1 _, e' j" w5 @
1 Z; @$ F5 p3 p2 V: V
(1)匿名身份验证  }" D) H+ Z- z0 u1 O2 q7 {

4 A* S  R/ K2 f$ b0 z) a( }    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
0 N  d- U4 I! \1 X8 d$ g
. r% q( f, e. d" a! I2 _" ](2)基本身份验证* p& M6 e! U/ G1 c3 B1 w2 H) j

' W6 {" K: \1 c4 M( q& C+ ~    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。
/ T7 ]7 ]: x4 \& R, x& x
! h) |6 @( Q4 h) x% v(3)Windows 集成身份验证
8 j5 Q! q! i/ Y* F0 I& A( e
$ _; s9 Y) {( U( ]    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。1 i2 Q/ N1 w; b2 T1 F4 _
, @2 {  ]9 W, M# v: O! u/ O- O
(4)摘要身份验证. C. ~. H. u( E2 [, H9 D$ l
: J: A6 E) X: |9 c/ R: h$ W. K
    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
- \) X( u  g5 l( ?" K' m8 c" I' {0 s! b  s5 h
.NET Passport 身份验证
+ _  w7 e" C5 D9 P
4 C# I. N2 e, y$ z9 aMicrosoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。, c) z' _' ]& V9 @2 e, y  s

4 {" b$ I* a# V7 ], v  i解决方法:
! X$ l- C: B0 l; L6 e
: E. Q/ r/ i% x- F3 Y. D) F- d7 t根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。3 C5 S2 B7 k3 f6 a- @
' j9 a+ I8 T3 P; Y5 I
5 D, k5 L3 a- M
    问题4:IP限制配置不当4 B5 m; v+ D) U& R
1 i$ d* {3 }, T2 w+ U$ t
症状举例:7 s1 ]6 k# K- \: G& `7 g0 E

0 _1 r3 U& V/ R$ l) r# U
2 B( h( s6 w% ~0 a    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。
  Q" {/ }% R; ~' b; |' z2 }" C' r( s1 Z3 J
原因分析:0 k- L1 b7 ?, q- M0 h3 g" B

% ^  I. ^1 Q" g6 \* Y
* E1 N/ `" Q7 f; n5 d    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。
/ Z% t7 v) Q6 F  ~+ b6 N9 d2 E' d0 s1 R% Q3 b* G1 |7 `
解决方法:" ]2 E* h, W& W, v6 ]7 W. t

7 ^0 u8 k8 l, W$ I0 c进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。+ Y3 o2 e+ R& B. W4 p: e6 V: A

& u5 X% _% r7 R4 b% L+ T问题5:IUSR账号被禁用
1 C' F: a) v" S* R
5 p' Q6 N2 F) i9 c# m, b1 V  G症状举例:& g; l6 q$ b- X& Y6 Q: V
% R6 I5 Z' o+ G* c8 J) I& ~
! T4 ~) y& N4 f- O3 e
    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
# x! F# O5 V' U4 X0 g  d
; Q! I$ x* H5 P4 O" l/ u原因分析:
9 E" l2 ?7 E- i8 M
5 @3 C3 b( V! u5 |! d# S5 Q) f! Z* M" o7 v- h
    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
* b+ _) w1 _! s3 M- t6 p9 B) _( j
解决办法:
+ p4 }2 R# m& \6 j+ H/ _
0 ]% R- f, g1 t0 g& P5 o& e: Q控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。2 D$ O- A5 Y3 C! ?" d! f3 J

; q  {1 M) f. P: X2 m问题6:NTFS权限设置不当
/ Y/ Y4 A/ T5 W& x( r症状举例:
6 j. {4 f& h0 y) M
( ^0 I0 N) a! f! P7 ~1 U
3 }7 v/ P( E3 r( E$ m# J9 c    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。: q" j0 O1 D2 ]- H
" M2 M9 |$ u4 @! I* T) m
原因分析:
4 f+ S1 B+ x1 E5 t
* D8 n0 @% D" N/ D5 Y9 n. p) y5 O& d) v
    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。% f! Q& H$ h; O8 \3 b. P/ i, T8 R
& p2 s  G% p2 N( Q. G! [$ X  n
解决办法:
0 d! w. u% f: w! j8 K/ f% ~# _: K: E1 f1 |0 I! \

0 v& r2 d: x( M4 n; i6 a) a5 K    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。% e+ t+ S: t  C+ r

# S/ T$ F" e+ H# D' j- x问题7:IWAM账号不同步
) k. S4 v% Z( K- f0 z1 a
) b5 p- `1 f4 S. t9 i( e注意:这个问题经常出现!!!!
, q' X6 I) b5 b: j" j症状举例:( {* R8 I: A9 A
; Z$ h% r0 R' F
3 B$ l% K( |. P7 ]
    HTTP 500 - 内部服务器错误. ?8 O$ U3 _$ _0 R
. v* T, Y. z; Z5 F( U
原因分析:
+ }9 Q1 A  N3 r! @2 C  N# V- A7 B! D8 a( o5 A
$ w, _1 B3 c: _
    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
' p# k) v2 G2 t# A; r: w/ L% {$ h$ y
解决办法:! J) [" U; q1 _7 \, V, t
" Q9 V$ I: x, G( n) e+ a

+ K6 S1 L! j2 o8 {3 A4 e5 c# u    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
* ^/ b2 e8 Q3 ]  ]! U% ?; b  o4 d" z. V/ `' D5 |4 L
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
+ h: W, \. o- d, `- J9 ], N8 J9 E+ U5 @1 ]: L
症状举例:
& C) u- {% T; Z
/ E  w2 T8 P. W5 s# k+ }+ @    HTTP 错误 404 - 文件或目录未找到。7 e2 R* |  i  }2 C3 ?+ ^* t
: l; w2 B6 l% D
原因分析:" C0 e& d0 W8 q; K- {) A

6 q: ?  T) s2 |% S$ O  k: E' l    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。7 j7 Q1 |! F/ c# e
( j1 Y6 _: M# o
解决方法:
) z( O' g6 \3 F0 p9 u: u( Q
8 o: S! g; U  B+ N2 s7 N    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
% P7 A3 w5 A; S* l  r8 y8 M( N) y# i7 B! w& _; g' V6 g
另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。# i: U' _4 Y" n8 l
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-5 14:36 , Processed in 0.063559 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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