按 ‘ 学习笔记 ’ 分类归档

Windows里隐藏的命令行工具

如果你玩过路由器的话,就知道路由器里面那些很好玩的命令缩写。

  例如,"sh int" 的意思是 "show interface"。

  现在 Windows 2000 也有了类似界面的工具,叫做 netsh。

  我们在 Windows 2000 的 cmd shell 下,输入 netsh
  就出来:netsh> 提示符,
  输入 int ip 就显示:
  interface ip>

  然后输入 dump ,我们就可以看到当前系统的网络配置:

  # ———————————-

  # Interface IP Configuration

  # ———————————-

  pushd interface ip

  # Interface IP Configuration for "Local Area Connection"

  set address name = "Local Area Connection" source = static addr = 192.168.1.168
  mask = 255.255.255.0
  add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0
  set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1
  set dns name = "Local Area Connection" source = static addr = 202.96.209.5
  set wins name = "Local Area Connection" source = static addr = none

  popd
  # End of interface IP configuration

  上面介绍的是通过交互方式操作的一种办法。
  我们可以直接输入命令:
  "netsh interface ip add address "Local Area Connection" 10.0.0.2 255.0.0.0"
  来添加 IP 地址。

  在提示符下,输入 ? 可以获得所有可用命令。

  netsh interface ip>?

  下列指令有效:

  命令从 netsh 上下文继承:
  .. – 移到上一层上下文级。
  abort – 丢弃在脱机模式下所做的更改。
  add – 在项目列表上添加一个配置项目。
  alias – 添加一个别名
  bridge – 更改到 `netsh bridge&#39 上下文。
  bye – 退出程序。
  commit – 提交在脱机模式中所做的更改。
  delete – 在项目列表上删除一个配置项目。
  diag – 更改到 `netsh diag&#39 上下文。
  exit – 退出程序。
  firewall – 更改到 `netsh firewall&#39 上下文。
  interface – 更改到 `netsh interface&#39 上下文。
  offline – 将当前模式设置成脱机。
  online – 将当前模式设置成联机。
  popd – 从堆栈上打开一个上下文。
  pushd – 将当前上下文放推入堆栈。
  quit – 退出程序。
  ras – 更改到 `netsh ras&#39 上下文。
  routing – 更改到 `netsh routing&#39 上下文。
  set – 更新配置设置。
  show – 显示信息
  unalias – 删除一个别名。
  winsock – 更改到 `netsh winsock&#39 上下文。
  
  命令从 netsh interface 上下文继承:
  add – 向表中添加一个配置项目。
  delete – 从表中删除一个配置项目。
  ip – 更改到 `netsh interface ip&#39 上下文。
  ipv6 – 更改到 `netsh interface ipv6&#39 上下文。
  portproxy – 更改到 `netsh interface portproxy&#39 上下文。
  reset – 复位信息。
  set – 设置配置信息。
  show – 显示信息。
  
  此上下文中的命令:
  ? – 显示命令列表。
  add – 向表中添加一个配置项目。
  delete – 从表中删除一个配置项目。
  dump – 显示一个配置脚本。
  help – 显示命令列表。
  reset – 复位 TCP/IP 及相关的组件到干净的状态。
  set – 设置配置信息。
  show – 显示信息。
  
  若需要命令的更多帮助信息,请键入命令,后面跟 ?。

WinXP下日语输入法的问题

给同事的机子上装了个精简版的WinXP
结果发现日文输入法死活添加不上
在网上查了半天,总算是找到解决的方法了

=======================

在另一台安装完整版WinXP中添加好日文输入法
然后找到
Windowsime目录及
Windowssystem32里imjp81.ime和imjp81k.dll 两个文件
将其复制到装有精简版XP的相同目录下即可。

其它相关链接(日文):http://www.hyperteika.com/ime/ms-ime/ms_info.html

nslookup工具的使用方法

配置好DNS服务器,添加了相应的记录之后,只要IP地址保持不变,一般情况下我们就不再需要去维护DNS的数据文件了。不过在确认域名解释正常之前我们最好是测试一下所有的配置是否正常。许多人会简单地使用ping命令检查一下就算了。不过Ping指令只是一个检查网络联通情况的命令,虽然在输入的参数是域名的情况下会通过DNS进行查询,但是它只能查询A类型和CNAME类型的记录,而且只会告诉你域名是否存在,其他的信息一概欠奉。所以如果你需要对DNS的故障进行排错就必须熟练另一个更强大的工具nslookup。这个命令可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用那个DNS服务器进行解释。
   查询IP地址
   nslookup最简单的用法就是查询域名对应的IP地址,包括A记录和CNAME记录,如果查到的是CNAME记录还会返回别名记录的设置情况。其用法是:
   nslookup 域名
   以下是A记录的返回情况。

  nslookup命令会采用先反向解释获得使用的DNS服务器的名称,由于我这里使用的是一个内部的DNS服务器所以没有正确的反向记录,导致结果的前面几行出错。大家可以不必理会。重点看的是最后的两行这里看到的是www.oray.net的IP地址是61.145.112.212。注意即使www.oray.net的主机没有在线同样能够返回结果。
   如果目标域名是一个别名记录(CNAME),nslookup就开始显示出和ping命令不同的地方了,请看查询CNAME记录的结果。由于CNAME和A记录最后都是活的IP地址,所以一般情况下两者是等同看待的,命令的格式相同。

  注意这次nslookup返回了三行信息,前两行显示这是一个CNAME记录,对应的域名和IP地址。最后显示的就是目标域名, 并注明Alias(别名)。
  如果域名不存在会怎样呢?

  看得懂最后以行的英文吗,不懂没关系记住形状就可以了。如果一个指定类型的域名不存在对应的记录同样也是这种结果。
   查询其他类型的域名
   前面两个命令我们没有加任何参数,所以默认情况下nslookup查询的是A类型的记录。如果我们配置了其他类型的记录希望看到解释是否正常。这时候ping就无能为力了。比如我们配置了MX记录,但是邮件服务器只能发信不能收信,到底是域名解释问题还是其他的问题Ping命令的检查只能让你误入歧途。nslookup 这时候可以模拟你的其他遇见服务器进行域名解释的情况。我们需要在nslookup上加上适当的参数。指定查询记录类型的指令格式如下:
   nslookup –qt=类型 目标域名
   注意qt必须小写。
   类型可以是一下字符,不区分大小写:
   A 地址记录(Ipv4)
   AAAA 地址记录(Ipv6)
   AFSDB Andrew文件系统数据库服务器记录(不懂)
   ATMA ATM地址记录(不是自动提款机)
   CNAME 别名记录
   HINFO 硬件配置记录,包括CPU、操作系统信息
   ISDN 域名对应的ISDN号码
   MB 存放指定邮箱的服务器
   MG 邮件组记录
   MINFO 邮件组和邮箱的信息记录
   MR 改名的邮箱记录
   MX 邮件服务器记录
   NS 名字服务器记录
   PTR 反向记录(从IP地址解释域名)
   RP 负责人记录
   RT 路由穿透记录(不懂)
   SRV TCP服务器信息记录(将有大用处)
   TXT 域名对应的文本信息
   X25 域名对应的X.25地址记录
  看看oray.net的邮件服务器记录吧。

  看看,nslookup把服务器的名称和地址都给出来了,注意preference就是前面所说的优先级,该数值越小则优先级越高。
   我再看看名字服务器记录是怎么样的。

  看起来和MX记录的格式差不多,一般情况下服务器会同时返回对应的地址。不过也有不返回的情况。
   在这里我希望大家注意一行显示“Non-suthoritativeanswer:”,这一行在前面的例子中都没有显示过。它的出现代表这个结果是从服务器的缓存中得到的。所以提醒你这不是一个授权的答案。前面我们进行的几次查询过程中192.168.1.104这台机器就采用了我们第一篇文章中描述的过程查询了oray.net的域名。在这个过程中不但缓存了www.oray.net、test.oray.net以及oray.net的MX记录等最终结果。也包括获取的名字服务器等中间结果。隐含的查询了oray.net的NS记录。后面我们还会介绍这个过程。
   指定使用的名字服务器
   在默认情况下nslookup使用的是我们在本机TCP/IP配置中的DNS服务器进行查询,但有时候我们需要指定一个特定的服务器进行查询试验。这时候我们不需要更改本机的TCP/IP配置,只要在命令后面加上指定的服务器IP或者域名就可以了。这个参数在我们对一台指定服务器排错是非常必要的,另外我们可以通过指定服务器直接查询授权服务器的结果避免其他服务器缓存的结果。命令格式如下:
   nslookup [-qt=类型] 目标域名 指定的DNS服务器IP或域名
   我们可看看以下的命令结果:

  这个命令直接从顶级域名服务器查询oray.net的NS记录。所有的二级域名的NS记录都存放在顶级域名服务器中,这是最权威的解释。注意这次没有非授权结果的提示。对于二级域名的NS记录查询来说这肯定是授权结果。顶级域名服务器的名称是a到j.gtld-servers.net共十台服务器。(gtld是Global Top Level Domain的缩写)。当我们修改域名的NS记录的时候可以通过上述查询知道修改的结果是不是已经在顶级域名服务器上生效。不过即使已经生效也可能不能正常解释,注意我在上一篇文章中提到的缓存时间的问题。
   那么到底缓存多久呢?
   检查域名的缓存时间
   检查域名的缓存时间需要我们使用一个新的参数:-d
   格式如下:
   nslookup –d [其他的参数] 目标域名 [指定的服务器地址]
   请看范例

  我们忽略其他的看看Got answer后面几行,包括了一个ttl数值。这个数值就是域名记录的生存时间。
   这种查询将整个DNS数据包的所有部分都揭示出来,大家可以看到DNS实际上并不是想象中那么简单的东西。具体的各部分解释大家可以去看看相关的标准文档。需要提醒大家的是一定要找到ANSWER:的内容,其他的东西都不是描述最终的结果。上面就不止一个地方有TTL数值。
   域名解释过程的模拟
   我们现在来模拟一下一台DNS服务器接到一个不是自己管理的域的域名解释过程。回忆一下第一篇文章的过程:
   首先我们会询问根服务器,然后根服务器会让我们去找对应的顶级服务器。如果查询的是oray.net,就会要求我们去找net的服务器。
   看看下面的范例:
   这里我们让21cn.com的服务器解释www.oicp.net的域名,很显然这台服务器不用有这个域,需要询问根服务器。一般情况下DNS服务器会帮我们完成全部的过程。这种解释方式我们称之为递归解析,为了让大家看到这个过程我家了一个参数让21cn.com的服务器不要这样做。这个参数是-norecurse。这样理论上21cn.com会让我们去问根服务器,不过由于它已经缓存了顶级服务器的记录,所以直接返回了管理net的顶级服务器记录。实际上大部分的查询都不需要从根服务器开始。大家看到了所有的顶级域名服务器的地址都被返回。
   我们随便选择一个在进行查询。

  这次顶级服务器就返回了oicp.net的服务器地址记录的。然后我们就向这些记录之一进行查询,一定能够得到答案。可能是一个地址、一个CNAME记录或者告诉你不存在。
   nslookup的命令就介绍到这里,其实nslookup还有许多其他参数。不过常用的就俄这么几个,另外如果大家不喜欢命令行方式的话。还有几个图形界面的nslookup功能的工具。不过大家还是需要了解域名解释都有些什么才能够正确使用这些工具。

Microsoft TechNet相关说明

给服务器装了个AspJPEG1.5

闲着没事,把公司的论坛升到DVBBS7.1了,
发现其后台多了不少关于图片上传的选项,但是需要aspjpeg组件的支持
于是就去找了个装上,因为以前没装过,弹出输注册码的时候随便写了个
结果上传的时候就出现

Persits.Jpeg.1 错误 &#39800a0004&#39

Invalid Registration Key.

上网查了查,发现其注册码是直接保存在注册表中的
修改HKEY_LOCAL_MACHINESoftwarePersits SoftwareAspJpegRegKey
的键值就行了,搞定。

PS:动网论坛7.1版本里预览的图片自动放在PreviewImage里,这个目录必须设置成可写,
否则在上传的步骤中将出现
Persits.Jpeg.1 错误 &#39800a0001
&#39
http://localhost/f2/200509/08_163040_aspjpeg.rar

NT 下虚拟域名的实现

虚拟域名实际上是虚拟主机的一种。
  虚拟主机的出现是为了节省硬件的投资。如果 ISP 为每个申请了域名的用户都使用一台单独的机器,显然费用会很高,而且对于访问不是很频繁的站点来说也是一种浪费。所以就出现了大家公用一台机器,但每个用户之间相互独立,功能完全等同与拥有自己的主机。

  虚拟主机分为基于 IP 地址的( IP-based )和基于名称的( name-based )两种。

  基于 IP 地址的虚拟主机大家虽然在同一台机器上,还是要给每个域名配置独立的 IP 地址,这样看来还不能算是一种很理想的方案。有没有用一台机器、一个 IP 地址,又能实现独立的域名呢?

  这个想法随着 http/1.1 协议的出现得到了实现。它的原理是用 Web 服务器和浏览器共同作用来实现把虚拟的域名与相应的目录或站点对应。这样用户在浏览器里输入不同的名字,虽然由 DNS 服务器解析出的是同一个 IP ,但得到的却是不同的内容。看上去就象两个独立的域名了。所以这种基于名称的虚拟主机又称为非 IP 的( non-IP )。这同时还有一个用处,可以给很长的 URL 起一个即好记又有意义的别名。这就是虚拟域名。

  实现虚拟域名要有两方面的支持:

  一是 Web 服务器:

  现在有很多的 Web Server 支持基于名称的虚拟主机。象 Netscape , IIS 等都支持。当然用的最多的还是 Apache Web Server ,究其原因是因为它配置方便,还是免费的,而且它是第一个实现了基于名称的虚拟主机的服务器产品。

  二是用户的浏览器:

  我想大家使用的决大多数应该是 3.0 版本以上的 IE 或 Netscape ,那就没问题了,它们都支持。

  下面我们就来看看在 NT 下如何实现虚拟域名:

  第一步是要 DNS 服务器认识你要增加的域名,也就是把它解释成相应的 IP 地址。因为我们要靠 Web 服务器来区分域名,所以这个 IP 地址自然得是你 Web Server 所管理的了。

  你所要做的就是 DNS 服务中增加一个别名记录,假定你要增加的是 aaa.domain.com ,想要指到 www.domain.com ,就可写成:

  aaa IN CNAME www.domain.com.

  也许你会想如果我要增加很多域名,那不是很麻烦,而且 DNS 服务器的记录文件要很大喽。好,我们来骗一下 DNS 服务器,把“ aaa ”改成“ * ”,这样它就把所有没给出设置的以 domain.com 结尾的记录全部转到 www.domain.com 去了,不管是 aaa.domain.com 还是 bbb.domain.com 。这不会影响已有的记录。

  下一步就要配置 Web 服务器了。我们选两个常用的: IIS 和 Apache for NT 。

  一、 IIS (记住,只有 4.0 版以上才支持基于名称的虚拟主机。)

  进入 IIS 的服务管理器,在相应的服务器上选择新增 Web 站点,给站点起个名字,选择好 IP 地址(也就是前面设好的由 DNS 服务器所指向的)。选择好主目录路径,如果是映射到远端的 URL 的话,可以先设个临时的路径。

  完成后进入新建的 Web 站点的属性,在“ Web 站点”的标签里点“高级 … ”按钮,编辑标识记录,在“主机标题名”处填写要加入的虚拟域名,如: aaa.domain.com ,记住要填完整,不能光打 aaa 。现在可以到“主目录”的标签里选择要映射的具体目录了,可以是本机器或本网机器上的路径,也可是远端站点的 URL 。

   IIS 配置起来直观,但如果是有大量的记录就不适合了,而且也不适合在线申请。

  二、 Apache (新版本已经开始支持 NT ,你可以到 http://www.apache.org 去得到最新的版本,并且带源代码,有兴趣可以自己开发些新功能)

  配置 Apache 需要跟配置文件 http.conf 打交道,缺省情况它位于 /Program Files/Apache Group/Apache/conf 目录下。

  首先需要加入 NameVirtualHost xxx.xxx.xxx.xxx

  其中 xxx.xxx.xxx.xxx 为你虚拟服务器的 IP 地址,也就是上面例子 www.domain.com 的 IP 地址。在此可配置多个虚拟 IP 地址。(注意:这里要用 IP 地址,不要用域名)

  接下来为每个虚拟域名加入记录: …… xxx.xxx.xxx.xxx 要和 NameVirtualHost 的一致。 在两个标志之间可加入的配置参数有:
   ServerName 后面跟你要增加的虚拟域名,如 aaa.domain.com ;
   Documentroot 如果你映射到本机的路径就加在后面,如“ F:/html/aaa ”(需要加双引号);
   redirect 如果你映射到远端的 URL 可加在后面,有两个参数,第一个是虚拟域名的相对路径,第二个是远端站点的 URL ;
   ServerAlias 后可加入本域名的别名,可使用通配符,如:
  *.aaa.domain.com 。

  下面举几个例子:

   1. 映射到本机的物理路径:

< VirtualHost xxx.xxx.xxx.xxx>
DocumentRoot "F:/Program Files/Apache Group/Apache/htdocs/test"
ServerName test.domain.com
< VirtualHost>

2. 映射到远端的 URL :
< VirtualHost xxx.xxx.xxx.xxx>
ServerName test1.doamin.com
redirect / http://test.domain1.com/welcome.htm
< /VirtualHost>

  当然还有许多参数,象 log 文件的位置、超时的设置、缓冲区的设置等等,可以参考 Apache 的在线帮助文件。每增加一个虚拟域名就要增加一段位于 < VirtualHost...>…< /VirtualHost> 之间的配置代码,而且只有在重新启动 Apache 后新配置才能生效。

  显然如果要配置大量的记录将大大增加配置文件的长度,这样会还会使 Apache 启动变慢,占用更多的内存,而且也不容易实现在线申请。你可以通过选择动态方式来配置虚拟主机。这样你不必事先写好配置,而是通过编写一定的动态规则来自动生成或随时从独立的配置文件中读取信息。这要用到 Apache 的 mod_rewrite 模块,所以要在配置文件里加一行:
  LoadModule rewrite_module modules/ApacheModuleRewrite.dll

  你可以制定很多规则来重写 URL ,象通过环境变量、 http 协议头,甚至是通过外部的数据库来维护 URL 。它的功能非常强大,也就同时带来了复杂性,你得通过不断的摸索和实验来真正掌握它,不过这是很值得的。

  最后简单的介绍一下在线免费域名的一种实现:

1. 通过 Perl 来维护一个用户数据库,管理用户的增删、验证和密码更改等工作。

2. 同时用 Perl 来通过数据库维护独立的虚拟域名的配置文件,例如: vdomains.map ,格式如下:

   aaa.domain.com http://www.domain1.com/~aaa

   bbb.domain.com http://www.domain2.com/~bbb …

3. 最后配置 httpd.conf 文件。
  用 RewriteEngine On 打开 rewrite 模块,用 RewriteMap 设定配置文件的位置和属性,用 RewriteCond 和 RewriteRule 制定相应的规则即可。

http错误 401.3 ACL 禁止访问资源及常见问题及症状答疑

在配置IIS的时候,如果安全稍微做的好一些。就会出现各式各样的问题。比如,常见的访问网页会弹出用户名密码的登陆界面,或者是访问某种页面比如html,asp没事情,但是访问jsp或者php就有问题,显示401.3 ACL 禁止访问资源等

  通常的解决办法是。   
  
     第一,看iis中(不管iis5 还是iis6)  ,网站或者目录,包括虚拟目录的属性,看目录安全性选项卡中的 编辑匿名访问和身份验证控制,看看是用的哪个帐号,如果是用的iis匿名帐号(一般是IUSR_机器名),或者由系统管理员设置了其他帐号,这个帐号很重要,下面成IIS匿名帐号 察看帐号的密码是否是正确的系统设置的密码,实在不行就在计算机管理里面的用户管理,重新把帐号设置一个密码,然后在编辑匿名访问和身份验证控制选项中把密码重新设置一下。

     第二。在资源管理器里面看放置网站或者目录的安全选项。是否IIS匿名帐号有权限访问,一般来说,NT系统中的IUSR_机器名这个帐号都会是在user组里面,有时候禁用了user组,也会引起这个问题,让刚才设置的IIS匿名帐号或者帐号所在的系统组有对目录的访问权限,至少要有读权限。

     第三,在你放置的程序中,看是否含有其他类型的动态语言写的程序,IIS会默认对asp进行解释,对于ASPX来说,要看net执行文件目录是否让IIS匿名帐号有读权限? cgi程序就是perl目录,jsp看是用resin还是用tomcat做的解释,php就是php目录,要保证这些目录都让IIS匿名帐号有读权限才行。

    通过以上设置,基本上没有什么问题了,遇到这样的问题,重新安装IIS也没有用,慢慢查原因吧。在NT环境下的web server出问题,大部分是因为权限 还有组策略的影响。只要确定这两个部分没问题。那基本上就不会出现问题了。

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

问题1:未启用父路径

症状举例:

Server.MapPath() 错误 &#39ASP 0175 : 80004005&#39

不允许的 Path 字符

/0709/dqyllhsub/news/OpenDatabase.asp,行 4

在 MapPath 的 Path 参数中不允许字符 &#39..&#39。

原因分析:

许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。 如果是使用LEADBBS论坛的朋友就要注意了,DV的不会出现问题。

解决方法:

在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。

问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)

症状举例:

HTTP 错误 404 – 文件或目录未找到。

原因分析:

在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC 等程序进行允许或禁止,默认情况下ASP等程序是禁止的。

解决方法:

在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。

问题3:身份认证配置不当

症状举例:

HTTP 错误 401.2 – 未经授权:访问由于服务器配置被拒绝。

原因分析:

  IIS 支持以下几种 Web 身份验证方法:

(1)匿名身份验证

IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。

(2)基本身份验证

使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。

(3)Windows 集成身份验证

Windows集成身份验证比基本身份验证安全,而且œ¨用户具有Windows域帐户的内部网环境中能很好地发挥作用。在集成的Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的Windows身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。

(4)摘要身份验证

摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。

.NET Passport 身份验证

Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。

解决方法:

根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。

问题4:IP限制配置不当

症状举例:

HTTP 错误 403.6 – 禁止访问:客户端的 IP 地址被拒绝。

原因分析:

IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。

解决方法:

进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。

问题5:IUSR账号被禁用

症状举例:

HTTP 错误 401.1 – 未经授权:访问由于凭据无效被拒绝。

原因分析:

由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。

解决办法:

控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。

问题6:NTFS权限设置不当

症状举例:
HTTP 错误 401.3 – 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。

原因分析:

Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。

解决办法:

进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设 置这里不再馈述。

问题7: IWAM账号不同步

注意:这个问题经常出现!!!!
症状举例:

HTTP 500 – 内部服务器错误

原因分析:

IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。

解决办法:

如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。运行c:InetpubAdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码运行cscript c:inetpubadminscriptssynciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码

问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)

症状举例:

HTTP 错误 404 – 文件或目录未找到。

原因分析:

IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。

解决方法:

在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。

另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。