第十三章 配置 Apache 以与 Web 网关配合使用 (Windows) - 推荐选项:Apache API 模块 (CSPa24.dll)

文章目录

  • [第十三章 配置 Apache 以传递其他文件类型(所有平台)](#第十三章 配置 Apache 以传递其他文件类型(所有平台))
  • [按位置配置 `Apache`](#按位置配置 Apache)
  • [按文件扩展名配置 `Apache`(`CSPFileTypes` 指令)](#按文件扩展名配置 Apache(CSPFileTypes 指令))
  • [按 `MIME` 类型配置 `Apache`](#按 MIME 类型配置 Apache)

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

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

java 复制代码
.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:

xml 复制代码
<Location /csp>
   CSP On 
</Location> 

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

java 复制代码
/csp/ 
/csp/samples/menu.csp 
/csp/sys/ 

按文件扩展名配置 Apache(CSPFileTypes 指令)

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

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

java 复制代码
CSPFileTypes xxx yyy 

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

xml 复制代码
<Location /csp/> 
   CSPFileTypes xxx yyy
</Location>

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

xml 复制代码
<Location /csp/> 
   CSPFileTypes * 
</Location> 

按 MIME 类型配置 Apache

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

java 复制代码
application/x-csp
java 复制代码
text/csp

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

java 复制代码
LoadModule csp_module_sa /iris/csp/bin/CSPa24.dll
AddType application/x-csp csp cls zen xxx

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

相关推荐
子兮曰12 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒13 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手13 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz13 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易13 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么14 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
10share14 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js
古茗前端团队17 小时前
由 key 引发的思考
前端·javascript·react.js
kyriewen17 小时前
我扫了 422 个仓库,近一半 CI 在裸装依赖
前端·javascript·程序员
鹏多多17 小时前
AI 到底能不能独立做个产品?我拿一个小程序验证了
前端·微信小程序·ai编程