第十三章 配置 Apache 以传递其他文件类型(所有平台)

在所有平台上,Apache API 模块始终识别对以下 InterSystems 文件类型的请求并将其发送到 Web 网关:

.csp .cls .zen .cxw 

可能有对其他文件的请求,希望将其发送到 Web Gateway,以便路由到相应的 IRIS 实例的 CSP 服务器。例如,如果需要通过此 Web 服务器访问管理门户,则还必须添加以下静态文件类型的映射:.jpg.gif.png.svg.css .js

可以将 Apache 配置为通过以下任一方式将对附加文件的请求传递到 Web Gateway

  • CSP 位置指令
  • 按文件扩展名
  • MIME 类型

注意:本页描述的 CSP 指令不能作为 <VirtualHost> 配置的一部分调用。

按位置配置 Apache

<Location> 块中使用 CSP 指令将对特定目录下的资源的所有请求传递到 Web 网关。以下命令会导致 Apache 将对 /csp 目录下的资源的所有请求转发到 Web Gateway

<Location /csp>
   CSP On 
</Location> 

例如,对以下所有资源发出的请求将发送到 Web 网关,以路由到相应的 IRIS 实例:

/csp/ 
/csp/samples/menu.csp 
/csp/sys/ 

按文件扩展名配置 ApacheCSPFileTypes 指令)

CSPFileTypes 指令将 Web 服务器配置为将文件请求路由到 Web 网关(如果文件是特定类型的文件)。该指令仅适用于对具有扩展名的文件(例如 /csp/menu.csp)的请求。它不适用于没有文件扩展名的资源(例如 /csp/menu)。

以下指令使 Apache 将对 xxxyyy 类型的文件的请求传递到 Web 网关。

CSPFileTypes xxx yyy 

可以为整个服务器全局发出此指令,或将其限制为 <Location><Directory> 块。例如,以下命令会导致 Apache 将对 xxxyyy 类型的文件的请求传递到 Web Gateway,但仅当请求发送到 /csp 目录下的位置(包括 /csp/samples 等子目录)时:

<Location /csp/> 
   CSPFileTypes xxx yyy
</Location>

如下所示将通配符 (*) 与 CSPFileTypes 指令一起使用会导致 Apache 将对 /csp 目录(和 /csp/samples 等)下所有类型的文件的请求传递到 Web Gateway

<Location /csp/> 
   CSPFileTypes * 
</Location> 

MIME 类型配置 Apache

除了识别上面列出的文件扩展名之外,CSP 引擎还可以识别以下 MIME 类型的文件:

application/x-csp
text/csp

例如,要将文件扩展名 xxx 添加到 IRIS(特别是 CSP 引擎)处理的文件列表中,请使用:

LoadModule csp_module_sa /iris/csp/bin/CSPa24.dll
AddType application/x-csp csp cls zen xxx

使用 MIME 类型将文件类型与 CSP 关联的问题之一是 Apache 会检查以确保资源的路径(即托管目录)物理存在,如果不存在,则返回文件未找到错误。然而,它不会检查以确保所请求的文件物理存在——这适用于 CSP 引擎所服务的资源,就 Web 服务器而言,这些资源可以是虚拟的。因此,“按 MIME 类型”方法仅适用于可以在 Web 服务器上复制应用程序路径结构的情况。

03-07 10:45