怎么给IIS添加ISAPI和CGI限制功能

怎么给IIS添加ISAPI和CGI限制功能,第1张

假设我们在安装系统的过程中不知道要在IIS中设置ISAPI和CGI限制功能,安装结束后我们在浏览器中输入网址的时候就会出现以下错误:

出现HTTP 错误 404.2 - Not Found

由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面

第一步:在IIS中添加ISAPI和CGI限制功能之前,我们要保证在windows功能下勾选了这几项;

第二步:我们在控制面板(查看方式选择大图标)》管理工具》Internet 信息服务(IIS)管理器》选择IASP和CGI限制

对于很多B/S架构的用友财务软件来说,在IIS中添加ISAPI和CGI限制功能是非常必要的,因为如果在IIS中不添加添加ISAPI和CGI限制功能可能会引起软件运行过程中报错,或者直接就登录不了,畅捷通T+11.51软件也是一样的。

所以首先要保证在IIS安装时就已经勾选了ISAPI和CGI限制功能,然后在对应的IIS中启用ISAPI和CGI限制功能,有时候我们重装了IIS或者重装了.NET会造成ISAPI和CGI限制功能丢失或者没有启用,所以用友财务软件免费下载网站站长认为学习怎么给IIS添加ISAPI和CGI限制功能?是非常有必要的。

在学习如何给IIS添加ISAPI和CGI限制功能之前,我们首先学习几个概念,分别是:ISAPI 服务器扩展、ISAPI筛选器、公共网关接口CGI。

ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLL。Internet 服务器扩展也称为 Internet 服务器应用程序 (ISA),用于增强符合 Internet 服务器 API (ISAPI) 的服务器的功能。ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口 (CGI) 应用程序。

ISAPI筛选器是在启用 ISAPI 的 HTTP服务器上运行的 DLL,用以筛选与服务器之间来回传送的数据。该筛选器注册事件的通知,例如登录或 URL 映射。当发生选定事件时,筛选器被调用,并且您可以监视及更改数据(在数据从服务器传输到客户端或相反的过程中)。可以使用 ISAPI筛选器提供增强的 HTTP 请求记录(例如,跟踪登录到服务器的用户)、自定义加密、自定义压缩或其他身份验证方法。

公共网关接口CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

畅捷通T+软件在运行时,必须在ISAPI和CGI限制功能中允许.NET 4.0相应的ISAPI和CGI的DLL组件运行。ISAPI和CGI限制功能在ISS7.0(windows7 *** 作系统和windows server 2008 R2 *** 作系统)开始才有。

1、允许ISAPI和CGI限制功能中允许.NET 4.0相应的ISAPI和CGI的DLL组件运行 *** 作步骤如下:

(1)点击“开始”-“运行”-输入“inetmgr” 如下图所示:(windows7 *** 作系统也可以通过:右击计算机,管理,服务和应用程序,internet信息服务(IIS)管理器)

(2)选中IIS根路径,如下图所示,在“功能”视图中,双击“ISAPI 和 CGI 限制”,如下图所示:

(3)依次右击 ASP.NET v4.0.30319 选择“允许”,然后再在“开始”-“运行”中输入 IISRESET 重启IIS服务。

2、在ISAPI和CGI限制功能中添加ISAPI和CGI的DLL组件

有可能会出现在ISAPI和CGI限制功能中没有ASP.NET v4.0.30319对应的ISAPI和CGI的DLL组件允许项,我们应该进行如下 *** 作:

(1)点击“开始”-“运行”-输入“inetmgr”,选中IIS根路径,如下图所示,在“功能”视图中,双击“ISAPI 和 CGI 限制”先点击“ *** 作”窗格中单击“添加”。

b、在“添加 ISAPI 和 CGI 限制”对话框中,描述处输入:ASP.NET v4.0.30319,ISAPI或CGI路径处选择:%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll;同时勾选允许扩展路径,点击“确定”。

c、按同样的方法添加,描述为:ASP.NET v4.0.30319,ISAPI或CGI路径为:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll;同样勾选允许扩展路径,点击“确定”。

注意:如果添加时不选允许扩展路径,则限制状态将为“不允许”,这是默认状态。我们也可以在添加后,右击ASP.NET V4.0.30319,选择“允许”即可。

2、由于T+软件在运行时,需要调用IASPI扩展,所以我们在安装IIS时,一定要注意勾选 ISAPI扩展,否则T+软件无法正常运行。

配置 CGI 应用程序 (IIS 6.0)

IIS 6.0 支持通用网关接口 (CGI) 应用程序。本主题提供了有关在 Web 服务器上安装和配置 CGI 应用程序以及设置 CGI 脚本超时值的管理信息。

要点:

为了最大限度地减少服务器的攻击面,默认情况下,Windows Server 2003 上不安装 IIS 6.0。首次安装 IIS 6.0 时,IIS 6.0 将被锁定 -- 这表明只启用处理静态网页的请求,并且只安装万维网发布服务(WWW 服务)。IIS 上的所有功能都将关闭,包括 ASP、ASP.NET、CGI 脚本、Microsoft 的 FrontPage® 2002 Server Extensions 以及 WebDAV 发布功能。如果未启用这些功能,那么 IIS 将返回 404 错误。您可以通过 IIS 管理器中的 启用 Web 服务扩展节点启用这些功能。有关如何解决 404 错误及其他问题的详细信息,请参阅 IIS 6.0 中的疑难解答。

CGI 程序在 Web 服务器接收到包含 CGI 程序名和程序所需参数的 URL 时执行。如果将 CGI 程序编译为可执行 (.exe) 文件,则必须提供包含程序执行权限的目录,以便用户可以运行程序。如果 CGI 程序以脚本形式(例如 Perl 脚本)编写,则既可为目录提供执行权限,也可为其提供脚本权限。要使用脚本权限,必须将脚本解释程序标记为脚本引擎。

注意:

默认情况下,IIS_WPG 组不具备启动 CGI 进程的权利。如果创建了新帐户并将其添加到 IIS_WPG 组以运行工作进程标识,还必须授予此帐户两种启动 CGI 进程的用户权限。这些用户权利是“调整进程的内存配额”和“替换进程级令牌”。有关如何修改用户权利的详细信息,请参阅 Windows Server 2003 帮助和支持中心中的“编辑本地安全设置”或“编辑组策略对象上的安全设置”。

如果要开发新 CGI 应用程序,Microsoft 提供了几种选择。要加快执行速度,请考虑开发 Internet 服务器 API (ISAPI) 扩展。为便于开发,请考虑开发 ASP.NET 应用程序。

本节包含下列信息:

• 在 IIS 6.0 中安装 CGI 应用程序:介绍如何在 Web 服务器上安装 CGI 应用程序。

• 配置并发 CGI 请求的最大数:介绍如何配置最大的并发 CGI 请求数。

• 配置 CGI 应用程序超时:介绍如何配置 CGI 应用程序的超时值。

在 IIS 6.0 中安装 CGI 应用程序 (IIS 6.0)

要点:

只有本地计算机上 Administrators 组的成员才能执行以下过程。作为安全性最佳 *** 作,请使用不属于 Administrators 组的帐户登录计算机,然后使用 runas 命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /User:Administrative_AccountName"mmc %systemroot%/system32/inetsrv/iis.msc"。

过程

安装和配置 CGI 应用程序

1.

为 CGI 程序创建目录。为了增加安全,请将 CGI 程序与内容文件分开。没有必要将目录命名为 Cgi-bin,虽然您可以这么做。详细信息,请参阅使用虚拟目录。

2.

如果 CGI 程序是脚本,那么请获取并安装相应的脚本解释程序。例如,要运行 Perl 脚本,要有 Perl 解释程序。Windows *** 作系统不提供 Perl、SED 或 AWK 的版本。因此,您必须从第三方开发商处获取这些解释程序。

3.

如果 CGI 程序为 .exe 文件,应为目录提供执行权限。如果 CGI 程序是脚本,则既可为目录提供执行权限,也可为其提供脚本权限。详细信息,请参阅Access Control in IIS 6.0。

如果选择为目录提供脚本权限,则必须在该目录的属性中将脚本解释程序标记为脚本引擎。只有标记为脚本引擎的解释程序才能够在该目录中执行。可执行文件(.dll 和 .exe 文件)无法直接执行,即浏览器请求无法通过在 URL 中包含程序名来启动 Web 服务器中的可执行文件。通过启用“仅脚本”权限并选中“脚本引擎”复选框,可以将内容文件(如 .htm 或 .gif 文件)作为 CGI 脚本安全地放在同一个目录中。内容文件可以在浏览器中显示,同时可以执行脚本,但是不能运行未授权的程序且不在浏览器中显示脚本命令。

4.

对于 CGI 脚本,应在脚本的文件扩展名和脚本解释程序之间创建应用程序映射。

IIS 可将文件扩展名映射到解释程序。例如,如果使用 Perl 脚本(该脚本存储在以 .pl 为扩展名的文件中),请将 .pl 扩展名映射到运行 Perl 脚本的程序。请将 .bat 和 .cmd 文件映射到命令解释程序 (Cmd.exe)。详细信息,请参阅在 IIS 6.0 中设置应用程序映射。

5.

设置 NTFS 权限。如果使用 NTFS 访问权限,请验证所有需要运行程序的用户都具有对该目录的执行权限。如果网站接受匿名用户,请确保匿名用户(IUSR_computername 帐户)具有执行权限。

IIS 支持大多数的标准服务器环境变量。

为更加安全起见,Web 服务器不将命令解释程序的特殊字符传递给映射的 CGI 应用程序。在默认情况下,以下字符不能包含在调用 CGI 应用程序的 URL 中:

| ( , % <>配置并发 CGI 请求的最大数 (IIS 6.0)为了防止性能下降并减少 Web 服务器上可能存在的安全隐患,可以配置同时运行的并发 CGI 请求的最大数。 要点:只有本地计算机上的 Administrators 组成员,才能执行以下过程。作为安全性的最佳 *** 作,请使用不属于 Administrators 组的帐户登录计算机,然后使用 runas 命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /User:Administrative_AccountName"mmc %systemroot%/system32/inetsrv/iis.msc"。 要点:注册表编辑器使用不当可能导致需要重新安装 *** 作系统的严重问题。因为注册表编辑器会跳过标准安全保护(禁止您输入存在冲突或者有可能降低性能或损坏系统的设置),所以在更改注册表时一定要格外小心。Microsoft 无法保证解决由于错误使用注册表编辑器而引起的问题。有关如何编辑注册表的信息,请参阅注册表编辑器帮助中的“更改项和值”主题。过程配置并发 CGI 请求的最大数1. 从“开始”菜单,单击“运行”。 2. 在“打开”框中,键入 Regedit.exe,然后单击“确定”。 3. 定位至注册表中的以下位置:HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/W3SVC/Parameters。 4. 从“编辑”菜单中,指向“添加”,单击“DWORD 值”,然后添加以下注册表值:名称:MaxConcurrentCgisExecuting类型:REG_DWORD数据:如果该注册表项不存在,则 IIS 使用默认值 256。根据需要,可以将该值设置在 0 和 4294967295(无穷大)之间。使用如果使用的值较小,则表示在 Web 服务器上并发运行的 CGI 请求数较少,但是,使用较大的值可能会降低性能。 5. 退出注册表编辑器。 配置 CGI 应用程序超时 (IIS 6.0)设置 CGI 应用程序的超时值时,需要手动设置 CGITimeout 配置数据库属性。 有关该配置数据库属性的信息,请参阅 CGITimeout 配置数据库属性。可以在全局级别、单个站点级别和站点元素级别上设置 CGITimout 属性。为此,可以灵活地对整个 CGITimeout 级别进行配置,然后为各个站点和站点元素自定义设置。如果要在运行 IIS 时编辑该设置,请确保启用“配置数据库运行时编辑”设置。详细信息,请参阅在 IIS 6.0 中启用运行时编辑功能。

------------------------------------------------------------

微软相关文档

Configuring CGI Applications (IIS 6.0)

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/bc0c4729-e892-4871-b8f3-fcbf489f2f09.mspx?mfr=true


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11265439.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存