IIS 6.0 支持通用网关接口 (CGI) 应用程序。本主题提供了有关在 Web 服务器上安装和配置 CGI 应用程序以及设置 CGI 脚本超时值的管理信息。
CGI 程序在 Web 服务器接收到包含 CGI 程序名和程序所需参数的 URL 时执行。如果将 CGI 程序编译为可执行 (.exe) 文件,则必须提供包含程序执行权限的目录,以便用户可以运行程序。如果 CGI 程序以脚本形式(例如 Perl 脚本)编写,则既可为目录提供执行权限,也可为其提供脚本权限。要使用脚本权限,必须将脚本解释程序标记为脚本引擎。
注意 默认情况下,IIS_WPG 组不具备启动 CGI 进程的权利。如果创建了新帐户并将其添加到 IIS_WPG 组以运行工作进程标识,还必须授予此帐户两种启动 CGI 进程的用户权利。这些用户权利是“调整进程的内存配额”和“替换进程级令牌”。要修改用户权利,请参阅 编辑本地安全设置或编辑组策略对象上的安全设置。
要点 为了更好地预防恶意用户和攻击者的攻击,默认情况下没有将 IIS 安装到 Microsoft® Windows® Server 2003 家族的成员上。而且,当最初安装 IIS 时,该服务在高度安全和“锁定”模式下进行安装。默认情况下,IIS 只为静态内容提供服务 - 即,ASP、ASP.NET、服务器端包含、WebDAV 发布和 FrontPage® Server Extensions 功能只有在启用时才工作。如果在安装 IIS 之后未启用该功能,则 IIS 将返回 404 错误。您可以为动态内容提供服务,并通过 IIS 管理器中的 Web 服务扩展节点启用这些功能。同样,如果应用程序扩展未在 IIS 中进行映射,IIS 也会返回 404 错误。要映射扩展,请参阅设置应用程序映射。有关如何解决 404 错误(包括 404.2 和 404.3)、与新安装的 IIS 6.0 相关的问题或从低版本的 IIS 进行升级的详细信息,请参阅疑难解答。
如果要开发新 CGI 应用程序,Microsoft 提供了几种选择。要加快执行速度,请考虑开发 Internet 服务器 API (ISAPI) 扩展。为便于开发,请考虑开发 ASP.NET 应用程序。详细信息,请参阅 ASP.NET。
要点 您必须是本地计算机上 Administrators 组的成员或者必须被授予了相应的权限,才能执行下列步骤。作为安全性最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"。
安装和配置 CGI 应用程序
IIS 支持大多数的标准服务器环境变量。
为更加安全起见,Web 服务器不将命令解释程序的特殊字符传递给映射的 CGI 应用程序。默认情况下,以下字符不能包含在调用 CGI 应用程序的 URL 中:
| ( , ; % < >