找回密码
 加入怎通
查看: 797|回复: 3

[站长八卦] 在windows 2003下设置IIS及DNS

[复制链接]
左手的天空 发表于 2012-03-02 19:37:48 | 显示全部楼层 |阅读模式
  很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,俺忙活了一下午,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙:   问题1:未启用父路径
: ]% }" X9 p3 h3 i+ ]$ T3 ]5 @& y+ c* e5 y: Q- V) h
  症状举例:
' }' ?* `! }2 E" n- o/ I" i
8 n+ j& ?4 u: ?/ x8 ~9 |  Server.MapPath() 错误 ASP 0175 : 80004005( e$ H  K2 f0 W" u5 ^4 [

5 r2 H/ t& m  }  不允许的 Path 字符
/ g( j: P3 V8 m$ F1 [
2 o' ]5 D. f; @. y$ D8 t  /0709/dqyllhsub/news/OpenDatabase.asp,行 4* [7 x9 V( v1 k; o6 x+ n& {

1 v0 n' ~. \; o  在 MapPath 的 Path 参数中不允许字符 ...
* R, _2 Y! k0 k  Y# J" B5 T1 U; M
/ v+ v' w, F; Q5 ?% D  原因分析:& N( |% K4 u3 Y

6 F! L4 P, E5 z  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的.4 W  w  S+ _( P: c
' U0 |# A  n* x' _$ ^
  解决方法:: r1 f, F8 c: s, T; z, L" C

4 x/ O1 {; }- a7 W5 ^  在IIS中属性->主目录->配置->选项中.把"启用父路径"前面打上勾.确认刷新.& I. a5 U" h+ b6 ]6 p. W% z( [# c8 y1 g5 K
; K# h2 U- I4 |; q* a
  问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)5 Q5 v$ ?$ F' I8 J3 l* U+ M

4 K  ~% f6 @. y  症状举例:, M3 |& X; \& }& Q% s  {" ]
+ J1 C  P7 a: l2 x3 e
  HTTP 错误 404 - 文件或目录未找到.7 R8 L9 _) f' V( z
: P) \* v+ Z6 n: L! L
  原因分析:/ W6 B6 `& q% x/ z
& B) s# q! I" a1 ~: c
  在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的.
, o4 S6 c( r" {' Z7 ~$ }. I  L" i( i7 ?! N% n
  解决方法:0 v) Z$ ^8 ]6 y" E+ F& {4 X

( Z* k+ ^6 r; t  E0 _, H  在IIS中的Web服务扩展中选中Active Server Pages,点击"允许".
) h( a7 J& r  d' R& l. A% ~" _0 O' `/ R- m
  问题3:身份认证配置不当+ ?) Q! Z+ i& r$ r3 `0 v# E3 \

6 K8 m" W; \$ K! J8 ]$ G  症状举例:
9 Z, z, E* X7 F: w; T- ~& f8 ]' O7 c% l7 b+ @4 f9 h$ x  i3 {
  HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝.
6 Y$ v+ ]# S" C
, r( q; ~. w1 y8 z* E- R  原因分析:IIS 支持以下几种 Web 身份验证方法:: t* ^# E4 j! ~# y
& _# R' w1 }% n  D5 t4 {' n
  匿名身份验证: l4 z" [% ^  s3 X0 g

8 s8 ~9 p# t" Q* n8 _, W/ T  IIS 创建 IUSR_计算机名称 帐户(其中 计算机名称 是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证.此帐户授予用户本地登录权限.你可以将匿名用户访问重置为使用任何有效的 Windows 帐户.0 z0 {/ }, o2 M* i  {

0 `  _4 S. t$ p+ U2 K  基本身份验证
4 u3 @; s$ Y5 u
/ ~  g" h. U( T$ K( E  使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问.使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的.用户 ID 和密码都以明文形式在网络间进行发送.
) Q( G' h/ j- L2 ^/ f: }4 k1 q8 K+ [! u" `: {& C7 N; {) a5 ?
  Windows 集成身份验证
/ s8 r) m6 X( q
( J7 p! e( C+ {  Windows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用.在集成的 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码.如果你使用集成的 Windows 身份验证,则用户的密码将不传送到服务器.如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证.
" g/ k' Z1 _1 z9 `; s9 }* e! |; C; \7 w, _& J2 G& |
  摘要身份验证3 a* g, J; }, G* l/ n

2 U- l5 o/ ~9 o  摘要身份验证克服了基本身份验证的许多缺点.在使用摘要身份验证时,密码不是以明文形式发送的.另外,你可以通过代理服务器使用摘要身份验证.摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的.
! @1 |/ u! }  S- i# D; `$ V/ b: Q( p
  .NET Passport 身份验证
6 w3 J5 |, i& F& e; b$ S( v3 P
, D& M7 H( N$ J( V7 z8 ?: w6 Q% d  Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全.启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证.但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点.
9 Y* h% [  j$ g. H& @' u% p1 |- l, R
/ N4 D' O9 g3 A1 d! Z  解决方法:5 h8 P) G; a' k' q/ M" V
8 q/ ^1 i, q3 X7 Z7 b
  根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法).认证选项在IIS的属性->安全性->身份验证和访问控制下配置$ ~5 A8 T* U( I- y, d

( k( P3 V% n* ^; w0 U  问题4:IP限制配置不当
9 w0 f- w' L5 M* s$ p0 G+ Q( r( G: f; T) H2 S# ?# Z$ O
  症状举例:. s) N* E$ B5 r
8 h1 W& b! e% \) _3 b
  HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝.
, v3 A. ]8 V9 c7 A# G: ~% O8 \7 o% n" [2 c7 E- K7 j7 [
  原因分析:
% e4 |$ }$ [0 M( o8 a; s8 }6 x+ S0 g$ T8 m6 A; N
  IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示.
3 P. U6 G9 ~( g5 t. a. Y
% `( U5 g0 o, u( y+ _) h  解决方法:
, C0 x* U' [, `) d! A. ^. Y
# d5 w' E- i' C2 [* v  进入IIS的属性->安全性->IP地址和域名限制.如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址.反之则可以只允许某些IP地址的访问.9 [0 K: y- C& Q7 e
6 ?: g+ `2 a3 Z" j
  问题5:IUSR账号被禁用
0 E' {3 B- J1 X, v4 O9 @5 p' D" v, m0 `0 P7 n- U! `
  症状举例:& D- b. N, |2 }1 ~+ m% U
3 P# h; S: J+ @# f+ \& D5 f* @
  HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝.5 e, u1 h8 t/ i& h  j0 p% A
) i8 q- P6 w# }% m6 j
  原因分析:
$ J! C; E4 L+ `, R
& S3 `: f- K' n1 Q. J  由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问.' C7 e2 G) D2 V3 X: h- |4 O

0 Y5 e& p3 J' U/ _$ T  解决办法:0 k0 R3 y$ ^$ k. n" b$ O

$ T6 b4 z# @! d7 Z  控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用.
9 |7 v* `/ y7 ?  o; f4 k7 z+ U' y2 v  S) A) }
  问题6:NTFS权限设置不当/ Y* S1 g" A; f/ a: A' \4 N
# ~, I" J: Q# M5 Q4 j+ t; e# w
  症状举例:# l# `8 e* K5 W$ O' Z6 Q- r! m) P% B+ l

7 B- c- i, t$ b  HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝.
, y( ]+ Z% e- V/ s
$ ?5 _; v) n  |) Y  原因分析:! `" R# f3 k! r1 x* D" `, Z" o
8 P0 W# ^( g. W4 J3 m8 P$ o6 `9 O
  Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问.
6 Z7 P# K* u: |3 b$ J+ Q' s1 a3 G6 ?8 U
  解决办法:
* a1 O5 C; k: Z7 J8 c2 a
; C( ~! U. ^! g! n4 b9 ~- w2 v  进入该文件夹的安全选项卡,配置user的权限,至少要给读权限.关于NTFS权限设置这里不再馈述.
+ i: I: F# G2 Z3 b. S0 `8 V
0 _  ~! |/ ~3 _, U# f$ V# ]  问题7:IWAM账号不同步) I% [, J7 }" g; I7 g
/ ]  Z3 F  c: @4 x( G, _' c
  症状举例:/ g+ t7 {2 H6 A& S$ J7 c) E% [3 v
' b" W) Y- W# A* Q
  HTTP 500 - 内部服务器错误
# L! p# g: M3 b/ K# K; W
0 r* h2 I& t  s  原因分析:
# ~  S& S, _' u* v' b0 N' i7 v. Z, N
  IWAM账号是安装IIS时系统自动建立的一个内置账号.IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作.系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一.
$ G$ R  `' T3 w" x# E9 w  Y
: J( Q+ P! `. z2 j% a  解决办法:
" h3 _5 M' o/ S; _) P! q( s+ R  p; G7 J# ]
  如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机.为IWAM账号设置密码.
( C$ H1 c/ |% V8 n- F
/ i, A$ |0 o1 T6 v) B  k  运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码 同步IIS metabase数据库密码
, y9 T4 p' d" m$ a: Y3 \% g) z" O& g0 K2 c6 @
  运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
+ I4 q7 A7 f2 O4 V4 s: r6 e0 J, B7 R4 ]+ k. r
  问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)3 v5 l# a8 l6 e

- c+ S* Y4 S) c# |  症状举例:) `* ~; P5 X: I0 n

! T; O% A! P' B3 |3 B8 R: X, [9 ]  HTTP 错误 404 - 文件或目录未找到.
; u5 [, v8 a0 z8 q
2 O* C7 v( z& q; H3 S+ q  原因分析:9 a6 p8 Q# s* J
" C! g/ p0 T- D% D9 A' I: \3 M
  IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错.1 [$ F8 e% Q( }& S' [% N# `" v

; c. j4 I. `6 b6 ]) i  解决方法:6 y1 K) g+ ~+ m1 c

3 p. J+ Z5 C" Z/ A9 o( J9 l8 d  在IIS中属性->HTTP头->MIME类型->新建.在随后的对话框中,扩展名填入.ISO,MIME类型是application.6 C# e4 U# ~8 C% E; p
4 S' B: p) T  W# {4 N' j
  另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了.
" O3 Q! A4 |+ }5 N5 o( J8 `
回复

使用道具 举报

悦鹜 发表于 2025-11-10 19:18:34 | 显示全部楼层
楼主辛苦了,整理这么多内容,必须点赞收藏
回复 支持 反对

使用道具 举报

新新 发表于 2025-11-10 19:19:17 | 显示全部楼层
分析得很透彻,很多细节都说到点子上了~
回复 支持 反对

使用道具 举报

别致滴小伙 发表于 2026-03-16 17:47:20 | 显示全部楼层
这个分享太实用了,刚好能用到,感谢楼主!
回复 支持 反对

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-6-12 09:27 , Processed in 0.024726 second(s), 24 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

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