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

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

[复制链接]
左手的天空 发表于 2012-03-02 19:37:48 | 显示全部楼层 |阅读模式
  很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的,俺忙活了一下午,做了很多次试验,结合以前的排错经验,做出了这个总结,希望能给大家帮上忙:   问题1:未启用父路径, S  ^* ^3 G7 h( K  @
6 ^/ e: M( f- a5 e8 w0 F
  症状举例:
1 ^3 N8 O7 N% x
' C' M  l5 D" m  Server.MapPath() 错误 ASP 0175 : 80004005; V2 }2 G. m5 O6 W

3 A) ?8 Y! @9 b- ~) R  不允许的 Path 字符
, r/ P. i6 _, `- W
5 D: L+ H; B0 Z4 P& h* O0 P! [  /0709/dqyllhsub/news/OpenDatabase.asp,行 4- D: L0 u" Y' |9 v" R
* L3 h5 v" p$ f5 b
  在 MapPath 的 Path 参数中不允许字符 .../ ?% h+ }* K- h& r6 t4 `0 [
# o: X' ]; s7 \5 r2 J1 \0 m
  原因分析:2 m6 b; s5 U( v2 C5 H

3 }3 I  N  o! K9 n  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的.
" f8 R! o+ \2 S+ w( F
' c" |6 {$ ]6 s0 ]4 U  解决方法:
2 X5 V9 X9 U, L/ C) i1 U8 f
$ K2 f- D/ B) d" I; ~# R( E1 n  在IIS中属性->主目录->配置->选项中.把"启用父路径"前面打上勾.确认刷新.
3 S2 }# Q# a% B2 _- i0 B) ~
$ R# C. _' R2 X5 r. C( K& f  问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)9 e# {& b% B' F- _% o
  E7 }5 C+ l, j) w1 s' ]+ j9 n# Q! k
  症状举例:
+ b8 J5 @) ~! O, ?
1 ]0 ^1 G2 r/ K9 q2 F  HTTP 错误 404 - 文件或目录未找到.
" V5 F% O' A& Q" m" _! G; j
# U4 H0 [  ^0 |  原因分析:! a, P, A5 A5 a2 d  \$ t" l

/ {7 P4 L9 _; e- g! P$ a* A  在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的.
9 c! {% |6 I* v7 |3 s0 {. A8 c9 G& P" Y- q9 g5 y2 X5 Y7 T; R
  解决方法:
1 w, g0 z9 e# b" I* g# E' ~
& W9 S" X* |  h0 J2 L( I. X  在IIS中的Web服务扩展中选中Active Server Pages,点击"允许".
' M6 R5 X' p8 O' g& y& r3 s& Q% Y& s. N  R. `
  问题3:身份认证配置不当
: ]) E7 g" G% M. ]; {* j; b# m' u  R0 ?- H: @3 e
  症状举例:
) N" a! m* ]8 ^) A9 n: f8 x7 N, ~# g" x/ l% E
  HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝.# p) R7 |  o) X7 t, U
% g$ Z* b3 F* K
  原因分析:IIS 支持以下几种 Web 身份验证方法:
3 F9 w9 |- X4 _6 V7 k$ m1 r& I8 t3 w" f
  匿名身份验证
! s% Q# R5 R% m. R
8 U! @3 z" W- E; H  IIS 创建 IUSR_计算机名称 帐户(其中 计算机名称 是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证.此帐户授予用户本地登录权限.你可以将匿名用户访问重置为使用任何有效的 Windows 帐户.
: Q. S8 z: B. ~9 h* C
$ t6 @9 e5 N/ u9 B# u& @9 O  基本身份验证! N8 O# s# i$ K$ l+ B9 i# {

, d1 T* C' B& M' g. V, s  使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问.使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的.用户 ID 和密码都以明文形式在网络间进行发送.
1 q; u0 j- J& q5 \" C1 P; y  H4 F! h4 u/ `2 Y
  Windows 集成身份验证3 C0 C  d* v: z, ^- I
( z8 d5 s& t$ C6 @3 ?+ R
  Windows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用.在集成的 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码.如果你使用集成的 Windows 身份验证,则用户的密码将不传送到服务器.如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证.
& s4 S9 l% e8 E# B: J0 W5 V' s
3 d, L4 G# l( q% o, i! B- ^  摘要身份验证
  r2 z" a6 r0 E" {1 j( |* q  Z, F3 A
  摘要身份验证克服了基本身份验证的许多缺点.在使用摘要身份验证时,密码不是以明文形式发送的.另外,你可以通过代理服务器使用摘要身份验证.摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的.* g: M$ G9 k( R3 o
" t- R8 M: \5 ]3 y+ [: E- m! K
  .NET Passport 身份验证( q( _+ t! G. @) r

( H6 g7 G" t, b$ `  Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全.启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证.但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点.
$ ^1 M8 I0 U) {/ E: }4 S2 l4 y. U: F# w
  解决方法:+ @  n& q+ n! k
1 ^* G4 [) A+ x- M7 ~& w, y, p
  根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法).认证选项在IIS的属性->安全性->身份验证和访问控制下配置
6 j! w3 _2 u+ ?7 u7 j0 n& ^" `& w/ X. R$ d  q6 {" a; h% ]- n
  问题4:IP限制配置不当: Y; x0 a# J, _% k- C! Y- J1 g  J

; e; H- b3 k" d$ [  症状举例:4 x4 P3 i0 s3 r  v5 u% b) Q

  \; S7 Q  h4 n( G5 G  HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝.
4 v7 Y8 j+ T: g' h8 T* [- ]
+ {9 w/ R7 G# D4 f9 A$ J  原因分析:
2 ]9 f" u0 A# x" k0 {9 G6 C! ^; Q/ }
  IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示.6 W0 g! G0 g7 a

. X2 R+ n# ?9 |8 u$ m0 ]  解决方法:- L( P! ]0 D4 G% T2 L

8 x1 \4 \8 @+ b# T  进入IIS的属性->安全性->IP地址和域名限制.如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址.反之则可以只允许某些IP地址的访问.2 j/ x, ]6 G) R

1 R. w4 b* s' h8 M9 ]/ d5 \  问题5:IUSR账号被禁用) I8 [  _7 Q4 N# @

; o( g* [% n! p( `. p2 x1 }* M. m  症状举例:4 Q0 q8 Y" J% r1 g
: o# t2 y  e' W. s4 |
  HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝.
* R$ V! E+ T( p8 K3 R7 \7 |- e& L' |0 Q- X; R, B
  原因分析:1 c- p9 N- h  d" a; n* y3 g5 L

8 ]' c* B! ^3 B  由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问.
; U0 ]! h/ J/ `; E3 w, w
7 ?/ A  [$ q, b" G7 ^  解决办法:
  y/ L* p: V! b- _3 L' v: r+ S- k. k! m" U1 w
  控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用.7 [% W/ y$ k6 G: s. J
. ?6 Y0 y  |3 t, h* R# ?* Q" t% y
  问题6:NTFS权限设置不当$ e# L; w* {5 f. T- ^
) c8 K+ s5 B# {3 W" q
  症状举例:
7 ^. J# E' T4 |8 j; \' ?3 a: X
" T" Q2 H: S% X# d  HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝.
# S6 r9 M: D; z/ i
0 k% {/ K! Q  z" O  原因分析:/ M8 K8 A6 t7 F* S1 [

" K. `! D& h, a8 Q  Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问.
( R+ m# O; c! c: {: \: j0 E
. E4 d; r/ Z0 W. \0 f  解决办法:/ p' D) l: C3 j- l9 q/ L; L

5 w2 e) N/ y5 p7 Y7 g" l4 O: S& T  进入该文件夹的安全选项卡,配置user的权限,至少要给读权限.关于NTFS权限设置这里不再馈述.1 i: |7 F2 v9 x# F) K

' K" G) w0 t+ I4 q0 z" i2 m  问题7:IWAM账号不同步
% {4 t2 q4 F* O8 b# A+ x5 a" h
# ^9 l8 s& o! {) Q1 j7 Y  症状举例:) d! T  k, `0 s! ^1 B  m

. t9 v9 Z1 ?- F9 O  u  HTTP 500 - 内部服务器错误
1 ], ]2 @  G/ O, W. c+ v5 H' [6 Z
* _5 Z, h- ~+ H& {( q$ e9 U1 N  原因分析:/ A/ s* V. F5 |$ P+ E1 G& L; {
2 b+ z0 g6 o8 D+ U
  IWAM账号是安装IIS时系统自动建立的一个内置账号.IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作.系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一.
: d, A! I% W- K
( y" @! u9 }8 U- _' y7 V' ]# g4 ~  解决办法:' @! M& ]+ r: S. S7 }

# u* q2 E2 P( I# m# K. n5 k& i  如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机.为IWAM账号设置密码.* J" ?" `' A  q& V5 B1 y
+ M- J/ `" h! U3 U8 j- I
  运行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass +密码 同步IIS metabase数据库密码
( |+ H, Q' O+ m' T5 P; x
0 V: W; C3 t% r* }  G  运行cscript c:\inetpub\adminscripts\synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
6 r  s, R& G6 |* F$ k  {1 ?5 M# H* X1 Z0 w1 M! D
  问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
& p& d& T- A7 z  e) C
0 ~- q6 V$ {9 Y2 B6 @  症状举例:
5 {- z9 T3 G2 t4 |+ S. B# P/ [* K. Z, I  R$ W- a7 a  J
  HTTP 错误 404 - 文件或目录未找到.
) ]2 N7 a& q! m4 Y: h" ?2 Y1 w' {7 a/ [7 A7 T) J+ q' f
  原因分析:
- k1 {3 [: W( U1 A- C* P3 r" N* h  J* O$ p
  IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错.
2 O' }. x0 M% D5 v! o' C
$ F- b7 t. ^! E$ {, u* ]  解决方法:
/ `5 ]' T: w* `5 o
. B( {# W& M0 Q6 J  在IIS中属性->HTTP头->MIME类型->新建.在随后的对话框中,扩展名填入.ISO,MIME类型是application./ |0 k" {' E; M

& D, J2 r1 F# V/ ?6 ^5 Y  另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了.
( [+ o5 ]7 A' Z$ `+ P. I: G8 d. y
回复

使用道具 举报

悦鹜 发表于 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-4-27 23:53 , Processed in 0.551138 second(s), 23 queries , Gzip On.

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

    Powered by Discuz! X3.5

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