IIS 隔离模式

IIS 6.0 在被称为应用程序隔离模式(隔离模式)的两种不同操作模式下运行,它们是:工作进程隔离模式和 IIS 5.0 隔离模式。这两种模式都要依赖于 HTTP.sys 作为超文本传输协议 (HTTP) 侦听程序;然而,它们内部的工作原理是截然不同的。

工作进程隔离模式利用 IIS 6.0 的重新设计的体系结构并且使用工作进程的核心组件。IIS 5.0 隔离模式用于依赖 IIS 5.0 的特定功能和行为的应用程序。该隔离模式由 IIs5IsolationModeEnabled 配置数据库属性指定。

您所选择的 IIS 应用程序隔离模式对性能、可靠性、安全性和功能可用性都会产生影响。工作进程隔离模式是 IIS 6.0 操作的推荐模式,因为它为应用程序提供了更可靠的平台。工作进程隔离模式也提供了更高级别的安全性,因为运行在工作进程中的应用程序的默认标识为 NetworkService。

以 IIS 5.0 隔离模式运行的应用程序的默认标识为 LocalSystem,该标识允许访问并具有更改计算机上几乎所有资源的能力。

虽然工作进程隔离模式提供了增强的隔离性、可靠性、可用性和性能,但某些应用程序在以该模式运行时仍可能会有兼容性的问题。如果遇到了兼容性问题,请使用 IIS 5.0 隔离模式。

当决定要使用哪种隔离模式时,请考虑下列情况:

注意 注意 IIS 6.0 无法同时运行两种应用程序隔离模式。因此,在同一台 IIS 服务器上,不可能以工作进程隔离模式运行某些 Web 应用程序而以 IIS 5.0 隔离模式运行其他应用程序。如果要有需要单独模式的应用程序,必须在单独的计算机上运行它们。

本主题包含下列信息:

工作进程隔离模式

工作进程隔离模式利用了所有新的 IIS 6.0 核心组件。使用工作进程隔离模式启用应用程序池、回收和运行状况检测功能,在本主题的后面将对这些功能进行描述。

下图说明了以工作进程隔离模式运行的 IIS 6.0 体系结构。

以工作进程隔离模式运行的 IIS 6.0。

在上图中,可以看到仅将应用程序特定代码加载到工作进程中。应用程序特定代码的示例是 ASP 和 ASP.NET 应用程序,因为这些编程平台的运行时引擎都是作为 Internet 服务器 API (ISAPI) 扩展来实现的。

这种体系结构使得 IIS 非常可靠,因为不管在工作进程中发生了什么服务中断,万维网发布服务(WWW 服务)、IIS 管理服务和 HTTP.sys 都能不受其影响并且连续运行。同样,运行在工作进程中的网站也不受运行在其他工作进程中的故障影响,因为它们通过进程边界彼此相互隔离。

下面的步骤说明了如何以工作进程隔离模式处理请求:

  1. 请求到达 HTTP.sys。
  2. HTTP.sys 确定请求是否有效。如果请求无效,它将向客户端返回一个无效的请求代码。
  3. 如果请求有效,HTTP.sys 检查响应是否存在于其内核模式缓存中。
  4. 如果缓存中存在该响应,HTTP.sys 会立即返回该响应。
  5. 如果没有缓存该响应,HTTP.sys 将确定正确的请求队列,并将此请求放在队列中。
  6. 如果没有为队列指派工作进程,HTTP.sys 将通知 WWW 服务启动一个工作进程。
  7. 工作进程将该请求从队列中取出并对其进行处理。
  8. 工作进程将响应返回给 HTTP.sys。
  9. HTTP.sys 将响应返回给客户端并记录该请求(如果做这样的配置的话)。

IIS 5.0 隔离模式

IIS 5.0 隔离模式确保为 IIS 5.0 而开发的应用程序的兼容性。以 IIS 5.0 隔离模式运行的 IIS 6.0 请求处理与在 IIS 5.0 下的请求处理几乎完全相同。在 IIS 5.0 隔离模式中,应用程序池、回收和运行状况检测功能都不可用。

下图说明了以 IIS 5.0 隔离模式运行的 IIS。

以 IIS 5.0 隔离模式运行的 IIS。

在 IIS 5.0 隔离模式中,HTTP.sys 以在工作进程隔离模式中相同的方式使用。唯一的例外是它仅把请求传递到由 WWW 服务维护的单个请求队列中。根据隔离模式的配置情况 - 在进程内、在池中或者在进程外 - 请求将会在 Inetinfo.exe 或 DLLHost.exe 中进行处理。

比较 IIS 6.0 模式中的功能

使用下表作为参考,来理解在 IIS 5.0 隔离模式和工作进程隔离模式中的 IIS 6.0 功能的角色。

IIS 功能IIS 5.0 隔离模式
宿主/组件
工作进程隔离模式
宿主/组件
工作进程管理 N/A Svchost.exe/WWW 服务
工作进程 N/A W3wp.exe/工作进程
运行进程内 ISAPI 扩展 Inetinfo.exe W3wp.exe
运行进程外 ISAPI 扩展 DLLHost.exe N/A(所有的 ISAPI 扩展都在进程内)
运行 ISAPI 筛选器 Inetinfo.exe W3wp.exe
HTTP.sys 配置 Svchost.exe/WWW 服务 Svchost.exe/WWW 服务
HTTP 协议支持 Windows 内核/HTTP.sys Windows 内核/HTTP.sys
IIS 配置数据库 Inetinfo.exe Inetinfo.exe
FTP Inetinfo.exe Inetinfo.exe
NNTP Inetinfo.exe Inetinfo.exe
SMTP Inetinfo.exe Inetinfo.exe

隔离模式默认值

当在一台没有安装早期版本 IIS 的计算机上安装 IIS 6.0 时,隔离模式会自动设置为工作进程隔离模式。如果从 IIS 的早期版本进行升级,隔离模式则会设置为 IIS 5.0 隔离模式。

下表指定了安装 IIS 6.0 时的默认隔离模式设置。

安装隔离模式
新安装 IIS 6.0 工作进程隔离模式
从 IIS 6.0 的早期版本进行升级 隔离模式没有改变
从 IIS 5.0 升级 IIS 5.0 隔离模式
从 IIS 4.0 升级 IIS 5.0 隔离模式

HTTP 筛选器

安全套接字层 (SSL) 请求是加密的,内核模式 HTTP 服务缺乏解密请求或对加密进行响应的能力。用户模式服务 HTTP 筛选器有效地解决了这个问题,该筛选器专门用来解密 SSL 请求并加密返回。HTTP 筛选器服务以两种 IIS 操作模式运行,如下所示:

相关主题

© 1997-2003 Microsoft Corporation。保留所有权利