最火下载站首页
手机版
最火下载站
关注公众号
最火下载站

当前位置:首页 > 网络知识 > 网络技术 > 技巧与工具> Windows Server 2008 IIS 7.0 入门

Windows Server 2008 IIS 7.0 入门

文章作者:网友投稿 发布时间:2008-07-21 来源:网络

概览:

IIS 7.0 体系结构变化 管理 IIS 7.0 向后兼容 IIS 7.0 故障排除

每个 IT 商店均不同,它们具有其自身独特的一组需求和目标,特别是在网站或服务托管方面。Web 服务器可能需要各种修补或更改以满足组织的需求,但伴随而来的挑战是要将此方案

复制到多台服务器上,同时对所有服务器进行有效的管理。IIS 7.0 中一些最大的变化旨在帮助 IT 商店在构建 Web 服务器或 Web 场时应对这些挑战。

看过 IIS 7.0 中所有强大功能的列表后,我迫切地想与您一同分享这些功能的详细信息。当我意识到不可能在此介绍所有这些信息后,我决定重点介绍 IIS 7.0 一些最重要的功能和最大的变化。如果希望了解更多信息,请访问 IIS 社区网站 IIS.net。

新体系结构

IIS 7.0 中的核心变化与体系结构、请求处理、PHP 应用程序框架支持和配置存储相关。在 IIS 6.0 中,功能基本上是要么全有要么全无的概念。您必须安装所有功能,并且只能使用 ISAPI 来自定义 IIS。

IIS 构建在这样一个假定基础之上:Web 管理员希望从最基本的一组功能开始,然后分层添加所在环境中需要的其他功能。只有您才最了解自己所在的环境,因此 IIS 7.0 为您提供了构建块,以创建您自己的自定义 Web 服务器。这样做可以降低您的管理开销,因为它减少了服务器的攻击面,而且无需更新未使用的组件。这种新方法的核心是 IIS 7.0 的模块化体系结构。

IIS 7.0 采用的新设计使您能够选择将要安装到服务器上的功能,也称为模块。这些模块直接插入到集成请求管道中。这种新的模块化设计具有许多优势,包括减少攻击面和 Web 服务器的占用量。

IIS 目前包含 40 个默认模块(例如,基本模块、匿名模块),而且 Windows® 身份验证现在已成为能够独立添加到请求管道中的单独模块。为简化分类,所有模块分成了八个子类别(请参阅图 1)。

  

图 1 IIS 7.0 模块分为八个功能区域 (单击该图像获得较大视图)

这意味着您现在可以构建与您的环境完全相符的自定义 Web 服务器。但是,如果 40 个默认模块无法提供您需要的功能,比如某些种类的自定义身份验证或内容修饰符,应该怎么办呢?

没关系。您可以通过本机或托管代码编写满足需要的模块,并将其插入到管道中。这也使 Microsoft 能够独立编写和发布新模块,因此您不必等待下一个服务包或主要产品发布。IIS 7.0 还赋予您使用自定义模块覆盖 40 个默认模块中任意模块的能力。有关如何构建您自己的模块的详细信息,请访问 IIS.net。

集成请求管道

将集成请求管道想象成一组基本的线性步骤,每次提供页面时都必须出现这些步骤(如图 2 所示)。通常,必须进行某种身份验证,然后才能授权检索内容、确定和执行该内容所需的处理程序、执行任何必要的日志记录、最后发送响应。集成请求管道使 IIS 7.0 可以灵活地同时运行不同的应用程序框架。例如,您可以在 PHP 内容之上运行窗体身份验证以及自定义的日志记录模块,所有这些均在同一个管道内实现。

#p#分页标题#e#  

图 2 IIS 7.0 集成管道和模块 (单击该图像获得较大视图)

服务器上的每个网站都有集成请求管道,并且可通过两种模式(集成模式和经典模式)之一运行。默认的集成模式允许将特定功能项插入到管道中,使您可以精细地控制请求过程。出于兼容性考虑,经典模式通过将 ISAPI 模块插入管道来重现 IIS 6.0/ISAPI 功能。在将应用程序迁移到 IIS 7.0 时,此模式非常有用。

远程管理和委派管理

IIS 7.0 提供了多种新方法来远程管理服务器、站点、Web 应用程序,以及非管理员的安全委派管理权限。首先,让我们讨论一下新的远程管理功能,以及它们如何使您的生活变得更加轻松。

过去,远程管理 IIS 服务器的方法有两种:通过使用远程管理网站或使用远程桌面/终端服务来访问 UI。但是,如果您在防火墙之外或不在现场,则这些选项作用有限。IIS 7.0 通过在 UI 中直接构建远程管理功能(通过不受防火墙影响的 HTTPS 工作)来对此进行补救。

IIS 7.0 中的远程管理可以在多个方面简化工作。首先,您可以获得与本地登录相同的 UI 体验。其次,由于使用 HTTPS 协议进行通信,因此无需在防火墙上开放端口。最后,您现在可以在单个 UI 中管理多台服务器,而不必同时打开多个远程桌面或远程网站窗口。

IIS 7.0 中的实际远程管理服务在本质上是一个小型 Web 应用程序,它作为单独的服务、在名为 NT Service\WMSVC 的 Windows NT® 本地服务账户下运行。此设计使得即使在 IIS 服务器自身无响应的情况下仍可维持远程管理功能。

与 IIS 7.0 中的大多数功能类似,出于安全性考虑,远程管理并不是默认安装的。要安装远程管理功能,请将 Web 服务器角色的角色服务添加到 Windows Server 2008 的服务器管理器中,该管理器可在“管理”工具中找到。安装此功能后,还必须启用远程连接并启动 WMSVC 服务,因为该服务在默认情况下处于停止状态。

WMSVC 服务的默认启动设置为手动。如果希望该服务在重启后自动启动,则需要将设置更改为自动。可通过在命令行中键入以下命令来完成此操作:

sc config WMSVC start=auto

当通过管理服务启用远程连接时,您将看到一个设置列表,其中包含如“身份凭据”、“连接”和“IPV4 地址限制”之类的设置。此时,唯一的关键决策是确定为哪组身份凭据授予连接到 IIS 7.0 的权限:仅限 Windows 凭据,还是 Windows 和 IIS 管理器凭据。

第一个选项比较直观,指出您希望仅允许 Windows 用户帐户,本地和域帐户均可。第二个选项包括 Windows 用户和 IIS 7.0 中全新提供的一种与 Windows 用户帐户不关联的帐户类型:IIS 管理器用户。有了 IIS 管理器用户,管理员可以创建仅在 IIS 7.0 的上下文中已知、但无法访问 OS 的用户帐户。最后,在默认情况下,IIS 会在开始时提供一个自签名证书,但建议您添加有效签名的 SSL 证书。现在只需应用您的设置并启动服务即可。#p#分页标题#e#

为了获取更多控制和安全性,IT 管理员可以安全地将各个站点或 Web 应用程序的管理任务委派给非管理员。

委派管理实质上是远程管理,但它限制对各个站点或 Web 应用程序的访问范围。IIS 管理器用户功能此时显得尤为方便。您可以为那些一次性站点所有者创建 IIS 用户,并委派他们管理自己的站点或应用程序的权限。他们无法访问服务器范围设置,仅限于访问其特定站点或 Web 应用程序的设置。

您还可以指定用户可以更改哪些功能和设置,甚至指定 UI 中应该出现哪些内容。例如,如果您不希望某人更改其站点所使用的身份验证类型,则可将此功能设置为只读或非继承。当某项功能为只读时,用户仍然可以访问该功能并确定设置,但无法进行更改;如果设置为非继承,则该功能的图标将不会出现在委派用户的 IIS 管理器视图中。此类功能委派可以让您提供对其他内容的严格受控访问,而无需提供对 Web 服务器的管理控制。

IIS 7.0 的发展

设计 IIS 7.0 时,设计团队希望通过允许使用管理工具中的某些现有投资和 IIS 6.0 的脚本来确保迁移到 IIS 7.0 的过程尽可能地平稳。他们为 IIS 7.0 的向后兼容性付出了许多努力,从而使其能够继续运行 IIS 6.0 所使用的脚本。您可在安装中的 IIS 6.0 管理兼容性节点下安装一整套工具—范围从 IIS 6.0 元数据库兼容性到实际的 IIS 6.0 管理控制台。

IIS 6.0 元数据库兼容性基础结构使用称为 ADOMapper 的组件。它允许您根据新配置系统运行 IIS 6.0 管理基础对象 (ABO) 和 ADSI(Active Directory 服务接口)元数据库脚本,但仅限于使用 IIS 6.0 中提供的功能。因此,它不能读写新的 IIS 7.0 属性、访问新的运行时数据,或者读写 ASP.NET 属性或 web.config 文件。

故障排除和诊断

故障排除和诊断一直是最耗时的工作。深入分析日志并尝试重现大型 Web 场,甚至单个服务器中的问题都是非常棘手的工作。IIS 7.0 中包含一个称为“失败请求跟踪”的工具,可帮助您从枯燥而费时的工作中解脱出来。它在许多情况下非常有用,包括请求挂起或程序出错,以及调查身份验证和授权问题。

“失败请求跟踪”使用跟踪规则作为条件来搜索错误。可以创建跟踪规则,以通过指定希望跟踪的内容类型(例如,服务器上的所有内容、仅 ASP.NET 内容或诸如 PHP 等自定义内容),以及在何种条件下应开始跟踪(例如,特定的返回状态代码、提供页面所用的时间、事件严重性或组合条件)来搜索行为或错误的类型。

例如,假设用户报告某站点的加载时间过长。在任何情况下,此情形都难以重现,特别是当每小时有数千次点击时更是如此。使用“失败请求跟踪”,您只需添加跟踪规则,指定当页面加载时间超过某个指定时间量(例如,对于本例为两秒)时开始记录,之后便可以等待服务器自己去重现问题(请参阅图 5)。

  

图 5 使用“失败请求跟踪”进行故障排除

“失败请求跟踪”与传统日志记录的不同之处在于:前者仅在检测到特定的失败请求条件时才会进行记录。日志文件本身是具有 XML 样式表的 XML,从而使其清晰、易读。与大多数其他 IIS 7.0 功能类似,此功能在默认情况下不会安装,但可在安装的运行状况和诊断部分下找到。您还必须在 IIS 管理器中启用该功能。 #p#分页标题#e#

对于所有管理员而言,IIS 7.0 是一大飞跃。它的新体系结构和功能为适应不断变化的环境提供了所需的敏捷性和灵活性。有了管理功能、向后兼容性工具和故障排除功能,您如今可以对其进行部署并在您的现有环境中使用它。

Isaac Roybal 是 Microsoft Windows Server 的产品经理。他负责 Windows Server 中与 Web 相关的所有事宜。Isaac 从 Windows NT 3.51 和 IIS 4.0 开始就从事 Windows Server 方面的工作。在此之前,他是 Office Internet 平台和运营组的运营项目经理。他已获得 Windows NT 4.0、Windows 2000 和 Windows Server 2003 的 MCSE 认证。

共有0条评论网友评论

当前没有评论!

加载更多

游戏排行榜