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

news/2024/11/15 0:59:13/

文章目录

  • 第六十四章 Apache 的替代选项 (Windows)
  • 安装位置(所有非典型选项)
  • 替代选项 `1`:带有 `NSD` 的` Apache` 和 `CGI` 模块 (`nph-CSPcgi.exe`)
    • 映射其他文件类型
    • 使用 `Apache NSD` 操作和管理`Web` 网关

第六十四章 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 NoneOptions FollowSymLinks ExecCGIRequire 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 NoneOptions MultiViews FollowSymLinks ExecCGIRequire 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 NoneOptions NoneRequire 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 NoneOptions FollowSymLinks ExecCGIRequire all granted
</LocationMatch>
ScriptAliasMatch /*\.([Cc][Ss][Pp]|[Cc][Ll][Ss])$ "c:/iris/csp/bin/nph-CSPcgi.exe"
<Location "/csp">AllowOverride NoneOptions FollowSymLinks ExecCGIRequire 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 NoneOptions MultiViews FollowSymLinks ExecCGIRequire 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 NoneOptions NoneRequire 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

http://www.ppmy.cn/news/1443725.html

相关文章

面试集中营—ElasticSearch架构篇

一、为什么用ElasticSearch&#xff1f; 1、支持多种数据类型。它可以处理非结构化、数值和地理信息等多种类型的数据&#xff1b; 2、简单的RESTful API。ES提供了一个简单易用的RESTful API&#xff0c;使得它可以从任何编程语言中调用&#xff0c;降低了学习的曲线。 3、近实…

Java中一个汉字究竟占几个字节?

前言 在今天&#xff0c;“Java中一个汉字占几个字符”的问题&#xff0c;让我提起了兴趣 在我的记忆中&#xff0c;一个字符应该是占两个字符的。但看了他人的回答 发现自己对这方面了解非常片面&#xff0c;于是痛定思痛潜心学习&#xff0c;写下这篇博客 总结不足文章目录 …

MySQL:DDL和DML语句

数据库开发 在web开发中,一般将web应用程序分为三层 Controller Service Dao 数据存储 可以使用XML,但XML不便管理和维护,操作难度大. 在真实的企业开发中,都会采用数据库来存储和管理数据. 即Dao层直接访问数据库 什么是数据库 DataBase,数据存储和管理的仓库 操作…

日本宇宙航空研究“Int-Ball2”自由飞行相机机器人采用的Epson IMU

IMU有助于飞行的稳定控制和电池充电的自动对接- 精工爱普生公司&#xff08;TSE:6724&#xff0c;“Epson”&#xff09;很高兴地宣布&#xff0c;日本宇宙航空研究开发机构&#xff08;JAXA&#xff09;选择了爱普生M-G370系列的惯性测量单元&#xff08;IMU&#xff09;&…

Docker | 入门:安装与配置

Docker | 入门&#xff1a;安装与配置 Docker 和传统虚拟机区别 对于传统虚拟机&#xff1a; 虚拟出一套硬件&#xff0c;运行一个完整的操作系统&#xff0c;并在这个操作系统上安装和运行软件。 对于 Docker: 将一个个容器隔离开。 容器内的应用直接运行在宿主机的内容&am…

cuda和cudnn的安装(ubuntu22.04环境)

一、安装准备 安装依赖 sudo apt-get update sudo apt-get install g sudo apt-get install gcc sudo apt-get install make禁用默认驱动 sudo gedit /etc/modprobe.d/blacklist.conf 在末尾加上 blacklist nouveau options nouveau modeset0更新一下initramfs -u的镜像 s…

JVM(Java虚拟机)功能特点、垃圾回收机制

简介 JVM&#xff08;Java虚拟机&#xff09;是一种虚拟的计算机执行环境&#xff0c;用于执行Java字节码。Java虚拟机不仅仅用于执行Java语言编写的程序&#xff0c;还可以执行其他编译成Java字节码的语言&#xff08;如Kotlin、Scala等&#xff09;编写的程序。JVM的主要目标…

前端开发中浏览器兼容问题总结

前端开发中浏览器兼容问题总结 PC端兼容问题及解决方案移动端兼容问题及解决方案 PC端兼容问题及解决方案 居中问题 div里的内容&#xff0c;IE默认为居中&#xff0c;而FF默认为左对齐&#xff0c;可以尝试增加代码margin: 0 auto;高度问题 两上下排列或嵌套的div&#xff0c…