第六十四章 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
(作为DLL
的Apache
内置模块,如果提供) -
CSPa24.dll
(运行时模块,如果提供) -
CSPa24Sys.dll
(Web
网关系统管理模块,如果提供)
这些二进制文件的默认位置是:
C:\Program Files\Apache Group\Apache\WebGateway\bin
原始位置 (install-dir\csp\bin
) 用于保存为特定IRIS
实例的管理门户提供服务所需的 Web Gateway
组件。
对于非基于 NSD 的连接选项,配置和日志文件写入此目录。
附加 Sys
的模块是用于访问 Web Gateway
系统管理套件的特殊模块。运行时模块(即那些没有 Sys
的模块)无法访问系统管理表单。
替代选项 1
:带有 NSD
的Apache
和 CGI
模块 (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
服务器安装在单独的计算机上也是如此。
要使用此方法:
- 将新的
MIME
类型添加到Apache mime.types
文件的末尾,并将其与表示类的文件类型关联:.csp
、.cls
和.zen
。mime.types
文件与httpd.conf
文件位于同一目录中:
text/csp csp cls
- 将
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
服务器。
- 更改
httpd.conf
后重新启动Apache
。
映射其他文件类型
Apache API
模块始终识别 InterSystems
文件类型。对于其他文件扩展名,请参阅配置 Apache
以传递其他文件类型。
使用 Apache NSD
操作和管理Web
网关
此连接选项取决于 Web Gateway
的网络服务守护程序 (NSD
)。
- 按照操作
NSD
中的说明启动CSP NSD
。 - 更改其配置 (
httpd.conf
) 后重新启动Apache
。
Apache
和 NSD
的启动顺序并不重要。
- 要访问
Web Gateway
管理页面,请将浏览器指向以下位置之一:
http://localhost:<port_no>/csp/bin/Systems/Module.cxw
http://localhost:<port_no>/csp-bin/nph-CSPcgiSys