IIS 有问必答


用 IIS 设置并路由子域
  问:在 W2K 服务器上,怎样用 IIS 5.0 创建子域?如果我让 BerAult.Com 在根 web 站点,并希望让 Technical.Bertault.com 带我到一个新文件夹或者子站点,应如何设置它?我所能找到的全部信息都是关于如何将 Berault.com/technical 配置成 URL 的。
  答:您的 web 站点体系结构及其与 DNS 的集成对于您的 IIS 安装来说当然是一个很关键的部分。正如您说的那样,为 Berault.com/technical 配置一个站点很容易,因为它实际上就是位于 Beralut.com 站点内的一个文件夹或虚拟目录。
  而将 technical.bertault.com 配置为一个“子站点”则是另外一回事,这一点您已知道了。按照设计,URL 的构成是这样的:http://domainname.com 应是 http://hostname.domainname.com 的父级域。这是 DNS 的设计使然,DNS 要求 URL 中使用这种名称空间结构。不过,就一个 web 服务器而言,它们是两个完全不同的概念。IIS 并不认为它们之间有什么关系。
  因此,您应将 technical.berault.com 作为一个完全不同的 web 站点来看待。在 DNS 中,您可以为 technical.berault.com 添加一条 A 记录,此记录给 technical.berault.com 分配一个与 berault.com 相同的 IP 地址。然后,您可以创建一个 ASP 页,用它检查传入的 URL 并相应地路由请求。如果您想让“子域”路由到您主 web 站点内的一个文件夹,这一点将非常有用。或者,您也可以创建一个全新的 web 站点,用一个新的 IP 地址(它必须在 DNS 中配置)或用 IIS 内的主机标题来标识它。
  您可以为您的“子域”创建一个新的 web 站点,使其主文件夹作为其父级域内的一个位置。虽然这样做是可行的,但我建议您不要这样做,因为这样您会发现同一内容将有两个管理界面,而且没有办法使它们保持同步。这样会导致对配置和安全问题进行故障诊断时出现困难。
  屏蔽 HTTP 标头(内容-位置)中的 IP 地址
  问:在对 IIS 5 服务器进行端口扫描时,它返回以下信息:
  HTTP/1.1 200 OK
  Server: Microsoft-IIS/5.0
  Content-Location: http://192.168.0.44/Default.htm
  Date: Tue, 19 Feb 2002 20:19:20 GMT
  Content-Type: text/html
  Accept-Ranges: bytes
  Last-Modified: Tue, 19 Feb 2002 20:04:10 GMT
  Content-Length: 16
  问题是,Content-Location(内容-位置)标头暴露了 web 服务器的内部 IP 地址。这就为黑客大开了方便之门。是否有办法让 IIS 在扫描过程中不返回服务器的 IP 地址?
  答:有,您可以配置 IIS 4 和 IIS 5,使 Content-Location 字段返回 URL 而非 IP 地址,如下所示:
  HTTP/1.1 200 OK
  Server: Microsoft-IIS/5.0
  Content-Location: http://homer.test.bh.tm/Default.htm
  Date: Tue, 19 Feb 2002 20:27:20 GMT
  Content-Type: text/html
  Accept-Ranges: bytes
  Last-Modified: Tue, 19 Feb 2002 20:04:10 GMT
  Content-Length: 16
  要做到这一点,您必须将 UseHostName 这一值添加到 Metabase 中的 W3SVC 键上。最简单的办法是使用默认情况下安装在 Inetpub\Adminscripts 中的 ADSUTIL 程序,如下所示:
  adsutil set w3svc/UseHostName True
  然后,您必须重新启动 web 服务。有关更多信息,请参阅 Microsoft 知识库文章 Q218180。
  更改 CGI 脚本超时时间
  问:我们每天都要运行一个 CGI 脚本。开始时它运行一会儿,接着我们就会收到一条消息说“超过了 CGI 的时间限制”。CGI 的时间限制是多长,是否有办法改变它?
  答:IIS 确实有一个与 CGI 进程关联的超时限制,默认设置为 300 秒(5 分钟)。此设置可以在用户界面上更改。此设置只在 WWW 服务的 Master 属性中可以看到,所以不易找到它。打开“IIS 管理单元”,右键单击您的服务器并选择“属性”。在选定 WWW Service Master Properties(WWW 服务主属性)后,单击 Edit(编辑)。单击 Home Directory(主目录)选项卡,然后依次单击 Configuration(配置)选项卡、Process Options(进程选项)选项卡,如图 1 所示。在这里可以看到 CGI 脚本超时设置。
  如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
  图 1 Application Configuration(应用程序配置)中的 Process(进程选项)选项卡
  从 IIS Lockdown 工具中提取 URLScan
  问:我们希望在服务器上安装 URLscan,但又不想运行 IISLockdown 工具。以前,Microsoft 是分别提供这些工具的,而现在它们都在同一个安装中。怎样才能既安装 URLScan 又不运行 IISLockdown 呢?
  答:您刚才说过,Microsoft 以前是分开发行 IIS Lockdown 工具和 URLScan 的。IIS Lockdown 工具的 2.1 版在更新之后包含了 URLScan 2.0。在绝大多数情况下,IIS Lockdown 向导应在 IIS 服务器上运行。这样将执行若干个重要步骤以加强您服务器的安全,并将配置和安装 URLScan ISAPI 筛选器。
  可以从 IIS Lockdown 安装包中提取 URLScan 组件,并在不运行 IIS Lockdown 的情况下安装它。这将为您提供 URLScan 的 2.0 版本,而不是它的 1.0 版;在本文脱稿时,1.0 版仍可以作为一个单独的可下载软件从 Microsoft 的下载页和通过许多 Microsoft 知识库文章来下载。
  如想从 IISLockdown 2.1 中提取 URLScan,请首先下载 IISLockdown 2.1。然后在该工具的位置打开一个命令提示窗口并键入以下命令:
  iislockd.exe /q /c /t:c:\lockdown_files
  此命令将从安装包中提取这些文件。然后,您就可以将 URLScan.dll 安装为一个 WWW Master 属性级别的 ISAPI 筛选器。确保存放 URLScan.ini 文件的位置与存放 URLScan.dll 文件的位置相同。
  
  您很可能需要为您的服务器手动配置 URLScan.ini 文件。我们建议,只有经验丰富的管理员才可以编辑 URLscan.ini 文件。请阅读从 IIS Lockdown 实用工具中提取的 URLScan.doc 文件中的使用说明。运行 IISLockdown 工具向导来安装 URLScan 的好处之一是,它为您配置了 URLScan.ini 文件。
  
  使用 URL 中的参数重定向请求
  问:是否有办法使用 URL 中的参数作为重定向的一部分,而不使用 ASP?换言之,当人们访问我们的站点 www.oursite.com?A=1 时,我们想将此请求转发到 www.theirsite.com?A=1 站点。
  
  答:在 web 站点、目录、虚拟目录或文件的属性中,您可以将文件的位置指定为“本地”、在“另一系统上”(带一个 UNC 路径名),或者将请求重定向。如果您选择重定向请求,您可能要用到鲜为人知但功能十分强大的重定向变量。就您的情况而言,您需要在 Redirect To(重定向至)文本框中输入 http://www.theirsite.com$P。$Q 替换变量将全部问号及其后的参数附加到重定向请求后。
  
  还有许多其他的重定向变量使您能够不用编写代码就可以执行替换和其他操作。您可以在 IIS 联机帮助文件中的 Redirect Reference(重定向参考)部分找到更多有关重定向参数方面的信息。
  
  将您的问题提交给 IIS 有问必答。挑选出的问题会连同答案一起刊登在下一期的 IIS 有问必答 专栏中。
  
  我们代表 Microsoft Corporation 衷心希望本文中的信息能对您有所帮助。但是应由您自己承担使用本文中信息而带来的风险。本文中的所有信息都“按原样”提供,对于其准确性、完整性、特殊用途的适用性、所有权和不侵权原则,并没有任何明示或暗示的保证;对于本文提及的任何第三方产品和信息,Microsoft Corporation 都未参与创作,也不向您推荐、支持或作出任何保证。对使用该信息而造成的任何损失,不管是直接的、间接的、特别的,还是偶然的或必然的,即使已经警告过可能会有这种损失,Microsoft Corporation 也将不承担任何责任。 本文作者:



相关阅读:
如何去掉2.7中乱跑的“Powered by ECShop”?
CSS实例:无懈可击的CSS圆角技术
一个加载js文件的小脚本
ASP.NET Gridview与checkbox全选、全不选实现代码
PHP 编码规范-文件结构
Windows 8有必要实现的功能
Freebsd下程序随系统开机启动的方法
Vi编辑器的使用方法
ASP开发中存储过程应用全接触
为非IE浏览器添加mouseenter,mouseleave事件的实现代码
jquery isEmptyObject判断是否为空对象的函数
如何在HTML中得到正确的URL属性值
分析MS SQL Server里函数的两种用法
慎用Oracle的not in
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4