第六十四章 Apache 的替代选项 (Windows)

第六十四章 Apache 的替代选项 (Windows)

此页面包含有关在 Microsoft Windows 上安装 Apache Web 服务器的信息,以便与 InterSystems Web Gateway 一起使用。阅读适用于安装的部分。

本页介绍了 Microsoft Windows 的其他 Apache 配置。要开始使用所有这些配置,请阅读第一部分。然后按照适用于安装的部分中的说明进行操作。

安装位置(所有非典型选项)

安装了以下模块:

  • CSPcgi.exe (Runtime module)

  • nph-CSPcgi.exe (Copy of CSPcgi.exe)

  • CSPcgiSys.exe (Systems-Management module)

  • nph-CSPcgiSys.exe (Copy of CSPcgiSys.exe)

注意:Apache 2.4.x 版有单独的二进制文件,如下所示:

  • mod_csp24.dll(作为 DLLApache 内置模块,如果提供)
  • CSPa24.dll(运行时模块,如果提供)
  • CSPa24Sys.dllWeb 网关系统管理模块,如果提供)

这些二进制文件的默认位置是:

C:\Program Files\Apache Group\Apache\WebGateway\bin

原始位置 (install-dir\csp\bin) 用于保存为特定IRIS 实例的管理门户提供服务所需的 Web Gateway 组件。

对于非基于 NSD 的连接选项,配置和日志文件写入此目录。

附加 Sys 的模块是用于访问 Web Gateway 系统管理套件的特殊模块。运行时模块(即那些没有 Sys 的模块)无法访问系统管理表单。

替代选项 1:带有 NSD ApacheCGI 模块 (nph-CSPcgi.exe)

配置 Web 服务器,使其识别文件类型并将它们传递到 Web 网关进行处理。

Web 服务器配置文件 (httpd.conf) 位于以下目录中:

C:\Program Files\Apache Group\Apache\conf

将以下部分添加到 httpd.conf 的末尾:

<LocationMatch "/*\.([Cc][Ss][Pp]|[Cc][Ll][Ss]|[Zz][En][Nn])$">
    AllowOverride None
    Options FollowSymLinks ExecCGI
    Require all granted
</LocationMatch>
ScriptAliasMatch /*\.([Cc][Ss][Pp]|[Cc][Ll][Ss])$ "c:/iris/csp/bin/nph-CSPcgi.exe"
Alias /csp/ c:/iris/csp/
<Directory "c:/iris/csp">
    AllowOverride None
    Options MultiViews FollowSymLinks ExecCGI
    Require all granted
    <FilesMatch "\.(log|ini|pid|exe)$">
        Require all denied
    </FilesMatch>
</Directory>
ScriptAlias /csp-bin/ "c:/iris/csp/bin/"
ScriptAliasMatch /csp/bin/Systems/Module.cxw "c:/iris/csp/bin/nph-CSPcgiSys.exe"
ScriptAliasMatch /csp/bin/RunTime/Module.cxw "c:/iris/csp/bin/nph-CSPcgi.exe"
<Directory "c:/iris/csp/bin/">
    AllowOverride None
    Options None
    Require all granted
    <FilesMatch "\.(exe)$">
        Allow from all
    </FilesMatch>
</Directory>

上述配置块依赖于 Apache 环境可用的正则表达式 (regex) 处理器。有时情况并非如此,特别是在 Windows 系统中,因此不会提供 CSP 文件(返回文件未找到错误)。要解决这种情况,请将 Web 应用程序的(虚拟)根位置与 CGI 模块关联,而不是通过 CSP 文件扩展名进行关联。例如,Web 应用程序位于 /csp 中。要将 CSP CGI 模块与 /csp 下的文件关联,请替换以下配置块:

<LocationMatch "/*\.([Cc][Ss][Pp]|[Cc][Ll][Ss]|[Zz][En][Nn])$">
    AllowOverride None
    Options FollowSymLinks ExecCGI
    Require all granted
</LocationMatch>
ScriptAliasMatch /*\.([Cc][Ss][Pp]|[Cc][Ll][Ss])$ 
      "c:/iris/csp/bin/nph-CSPcgi.exe"

<Location "/csp">
    AllowOverride None
    Options FollowSymLinks ExecCGI
    Require all granted
</Location>
ScriptAlias /csp "c:/iris/csp/bin/nph-CSPcgi.exe"

这些指令适用于以下形式的 URL

http://localhost:<port_no>/csp/*.csp

为其他根位置复制此配置块。例如,针对以下形式的 URL/myapps 重复该过程:

http://localhost:<port_no>/myapps/*.csp

避免正则表达式问题的另一种方法是将 Action 指令与 CSP MIME 类型结合使用。但请注意,Action 是一种内容过滤技术,因此要求CSP 文件实际存在于 Web 服务器主机上,即使 IRIS 服务器安装在单独的计算机上也是如此。

要使用此方法:

  1. 将新的 MIME 类型添加到 Apache mime.types 文件的末尾,并将其与表示类的文件类型关联:.csp.cls.zenmime.types 文件与 httpd.conf 文件位于同一目录中:
text/csp                csp cls
  1. Action 指令添加到 httpd.conf CGI 配置块的末尾,如下所示:
Alias /csp/ c:/iris/csp/
<Directory "c:/iris/csp">
    AllowOverride None
    Options MultiViews FollowSymLinks ExecCGI
    Require all granted
<Files CSPnsd.exe>
       Require all denied
    </Files>
<Files CSP.ini>
       Require all denied
    </Files>
<Files CSP.log>
       Require all denied
    </Files>
<Files CSPnsd.ini>
       Require all denied
    </Files>
<Files CSPnsd.pid>
       Require all denied
    </Files>
    <FilesMatch "\.(log|ini|pid|exe)$">
       Require all denied
    </FilesMatch>
</Directory>
ScriptAlias /csp-bin/ "c:/iris/csp/bin/"
<Directory "c:/iris/csp/bin/">
    AllowOverride None
    Options None
    Require all granted
</Directory>
Action text/csp “/csp-bin/nph-CSPcgi.exe”

最后,请注意,由于 CGI 是开放标准,因此 CSP CGI 模块适用于任何 Web 服务器。

  1. 更改 httpd.conf 后重新启动 Apache

映射其他文件类型

Apache API 模块始终识别 InterSystems 文件类型。对于其他文件扩展名,请参阅配置 Apache 以传递其他文件类型。

使用 Apache NSD 操作和管理Web 网关

此连接选项取决于 Web Gateway 的网络服务守护程序 (NSD)。

  1. 按照操作 NSD 中的说明启动 CSP NSD
  2. 更改其配置 (httpd.conf) 后重新启动 Apache

ApacheNSD 的启动顺序并不重要。
3. 要访问 Web Gateway 管理页面,请将浏览器指向以下位置之一:

http://localhost:<port_no>/csp/bin/Systems/Module.cxw
http://localhost:<port_no>/csp-bin/nph-CSPcgiSys

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 10:36:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 10:36:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 10:36:04       82 阅读
  4. Python语言-面向对象

    2024-04-29 10:36:04       91 阅读

热门阅读

  1. Python索引用法:理解Python中的索引及其用法

    2024-04-29 10:36:04       38 阅读
  2. MySql:连接和关闭

    2024-04-29 10:36:04       38 阅读
  3. Python设计模式(二)

    2024-04-29 10:36:04       29 阅读
  4. 深入浅出MySQL-06-【索引的设计和使用】

    2024-04-29 10:36:04       25 阅读
  5. 代码随想录训练营28day-动态规划

    2024-04-29 10:36:04       29 阅读