找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15290|回复: 0

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

[复制链接]
发表于 2013-7-1 18:32:54 | 显示全部楼层 |阅读模式
很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙。
8 n* ?0 Z) `* R5 `0 F$ T3 y7 l, n7 |- m
问题1:未启用父路径
: N: V% G4 C  T/ A# w症状举例: ( L2 H+ w) z# |! D7 h
$ A9 I) l! ?, C. c6 V6 b
    Server.MapPath() 错误 \'ASP 0175 : 80004005\'& E3 L! Z) f- j

$ a: ~2 b. d) a% V* J4 a& f2 w  e    不允许的 Path 字符! X6 N, S+ K0 C- g, x* `) `) @: t

. d& R! _/ |. e    /0709/dqyllhsub/news/OpenDatabase.asp,行 4
! F% R7 h2 h& L! d' k. K
* K5 X8 f) I( H; p    在 MapPath 的 Path 参数中不允许字符 \'..\'。
6 G: f. b' s1 i( m% K" R2 B3 ?) P, I: a: V5 b0 \& Q# n
0 N* h  M) L  `
原因分析:& N% {+ U; h) [- `
- A9 y/ e8 e, i
  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。
+ J4 g5 ~* s0 ?! ]
: v6 S/ m- j4 H: T. D; F" x2 W解决方法:
8 x. Z1 ^1 K: {. T9 V( C. m* O. g# ~8 V9 V- ]0 Z* M
在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
+ i' A9 ?4 c6 u0 ~9 \. z$ ]7 t9 `; \" [( d8 Z2 d0 e& A% y9 P' b
问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
2 G# v" F: Q1 N$ w' e. \& F
. l6 X! B  T2 p症状举例:  k3 g1 z8 {& B6 W$ V2 T/ Y1 e3 e8 i
- I" h" M1 x' V
HTTP 错误 404 - 文件或目录未找到。2 W2 E8 m) k6 y. a: g

4 i! I; f, z' k0 [原因分析:
* o7 V7 u$ g) `8 G2 @; e1 Q" s5 [1 a& F: S8 A' L

  G) M9 u4 x9 D, i1 n    在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
; e) V: i% n8 Q* e9 P6 c  r& B( D- i
解决方法:# h7 b: N3 I& R+ s4 O) L  r

+ ?# @' L( _0 m) V4 y: `在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。$ L1 Q$ A! J' K, t

7 P& b: R  b9 m+ A; x问题3:身份认证配置不当# q" h5 Y  k9 Y3 N( v; }. t

  r5 k% ~  [1 V, j# O2 S8 @0 ^症状举例:
5 s6 @+ P* [3 N4 |# `% W
( n3 ~( C# S+ V' I; L    HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。. C- o& v5 d3 c  C
0 P2 {. B4 C  L
原因分析:7 [; u- e1 D$ ?) I' |7 @8 s

6 C3 N" @, H* H+ t3 M- H    IIS 支持以下几种 Web 身份验证方法:; Y7 G- C3 R  [( K& a# j) h

) E2 j0 N+ r) F: S' h8 h(1)匿名身份验证: k# Q3 F4 S- f# B4 S' M/ R

* L3 C* B' E, s' j' Z- c    IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。+ S% p: q7 z1 P. w. h4 E+ i& B8 [
9 A$ q" v( s0 n1 y4 I" z
(2)基本身份验证
0 c. `* @; f# y8 r
9 t& z1 _, \/ m' K! \6 ]# a+ S    使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。; c  ^$ Z/ G& D, T0 G% ~6 E

0 \7 f) p) d" N7 [/ t8 _$ f(3)Windows 集成身份验证2 T4 ]3 z6 t3 [5 h7 q
, K* {$ G% A( q8 ]6 Z. n0 K; L- f
    Windows集成身份验证比基本身份验证安全,而且在用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。8 O. A7 k* ~3 d, P) E4 d
+ i. U4 B/ C( @. [
(4)摘要身份验证/ g" z( N8 x* D& W4 l/ `' {
/ Q  A3 @+ c' e5 P
    摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。# Q. s& B$ q4 S3 s
' J9 U5 {4 ^( x" \
.NET Passport 身份验证
: N( n8 a/ e4 o: D/ d0 {( `' @4 ^& T/ _2 H  }7 l
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。
- P; H+ N) x: l6 w
6 A# d0 h- G: W( ]解决方法:( ]: S% m3 U4 \

5 w7 G& ^# F0 B根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。
9 A8 E: w+ L- g% j, ^) [- C3 b9 c7 J. d1 s' H: w/ S

  _' W6 T7 f& r& e4 m    问题4:IP限制配置不当
( y9 t% ~5 ?2 H# |% }- G
) e: l# u" H: E+ |+ L0 @2 |症状举例:
( m1 R% p) c5 V5 y/ z( d& r: E3 u. A" ]" F5 u& P! l

3 B% K2 X( l9 u8 U+ f# }" i    HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。5 b, b+ ]9 J- c' O: F6 G9 p; [

  K- O* U" b3 D7 O原因分析:
& }$ @' x! V3 d. x% Y  j# S: `! P  d9 x( W7 E! _; {, U7 c1 r& k7 @- V

  g" I! D1 H" b    IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。
, ]) B9 s  A' E6 _' R7 V8 B% \, m' P6 q0 ?- P# s8 V
解决方法:2 G- V' E. @; ~3 w9 I  v, w9 K

0 v+ {! d. y' _9 M" v进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
" y: W6 E$ K/ W# f5 t: [8 b1 B+ @: s+ h+ |* U
问题5:IUSR账号被禁用
# [* j9 j( H( g& X% b. {% W
8 m& H8 w! u& y$ ^" B& [症状举例:
2 O6 u. @- L& u* T5 M9 U. y/ i- J: u4 `( K8 p
5 _5 s5 x$ A5 }1 V. R  g
    HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
- P! B5 C$ m0 h; }5 m& {
& |: _0 F$ g8 A2 |2 t& b原因分析:  H9 I2 e/ t( U! X

6 f2 N2 x/ I( q9 i# I& i% l) M
5 B3 {% p4 u/ S$ T    由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。9 h+ M) g8 x5 f/ e* a4 e$ u0 E& c

1 O3 K9 W' ^5 j% p' Q% O解决办法:
/ s3 S1 t2 @5 J5 I
% b+ b; t* s5 a( i* N$ j控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。4 `# m2 K  ~; o% K; F5 Q1 |: q( i

2 A, E- `1 g- N" s% m  A0 \问题6:NTFS权限设置不当2 K$ x0 H: a) s3 U9 s9 M
症状举例:6 d" g* }! h: a: _
. d: c) ?! N0 U1 Z2 p/ {

! W% A; Z9 a( P2 ^" e& q    HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
# e1 V/ P8 x5 R" a6 G) D' ^5 ], u+ ?4 v& ?2 }2 Z0 |/ T# Y9 C- ?
原因分析:
/ f1 p& d, g* }* ~* k
* r' P- Z) R6 k& F0 H; \0 S
0 Y! u9 _# B9 F# @) L: l6 A    Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。5 P6 {. ~; h( W& G3 k- q# I1 _

& ^: i* k8 e' [  S* Z3 z解决办法:! [% M0 V7 D5 H5 [6 \
5 x6 L: \4 w) P- Q% r2 V
5 ^$ s* C. Y3 N# c' C
    进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设   置这里不再馈述。& @! a$ K: I& b4 V7 E! g! A' f
% A# L4 @7 l5 _1 d; F! F% `+ r
问题7:IWAM账号不同步
& _+ _$ Z3 F& v" a; k
' v  _: `- p" g" ?9 X) T- w注意:这个问题经常出现!!!!
  t+ L( q7 H  X症状举例:
( b9 i; h8 r& W" I% C7 \! u- C; _4 l4 P& N: A$ s( F, x1 i
4 f' H' q8 t+ `7 Q6 q+ C" P
    HTTP 500 - 内部服务器错误
$ f+ i9 ?' X1 H( {. |4 m$ R3 ?/ G+ I5 J; q( H
原因分析:
/ _2 ~6 K- a9 ?% k/ I. u' q, i$ l% @5 w' `1 a0 q
& P7 z6 J4 [& G. p1 C' G0 _# S( d  u
    IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
+ a2 u  q, @& J, |8 s2 H; ^, r9 G
" ]$ V1 {6 _" t+ z; V解决办法:0 o# l7 r2 I. S
8 b0 h' b  g' w# t" J: l
; y- X6 e, S/ [6 a' l
    如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
0 W* [5 `) A, R3 C! O2 r8 k# e' y
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)" u% H. u, |) q. I
( u0 R0 E0 [3 ]. a8 \
症状举例:
, h2 k4 l, R5 p  Z+ u
7 |0 ?5 c  Q6 E( Y$ a" }7 N8 Z3 A    HTTP 错误 404 - 文件或目录未找到。9 f9 ^* S; Q8 ^# f, f4 w9 ?

( e9 m; N5 F0 V5 }& r, p* H原因分析:5 J* \2 n, `3 @
. t- n* B8 G  N" B
    IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。  c# [# [. ?: s5 O; z1 G2 h% i" d

; A0 ~4 l) [8 g2 S解决方法:, Z" p/ p3 j8 I( z- N* [

+ W- ^! z* U1 T    在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
! P2 I/ P# y$ O, z; w. [2 C. z" j2 }: m) P
另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。
; c# C6 o$ d4 {6 W! d1 g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-11-14 03:53 , Processed in 0.048858 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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