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

文章目录

  • [第十三章 配置 Apache 以传递其他文件类型(所有平台)](#第十三章 配置 Apache 以传递其他文件类型(所有平台))
  • [按位置配置 `Apache`](#按位置配置 Apache)
  • [按文件扩展名配置 `Apache`(`CSPFileTypes` 指令)](#按文件扩展名配置 ApacheCSPFileTypes 指令))
  • [按 `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/ 

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

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

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

java 复制代码
CSPFileTypes xxx yyy 

可以为整个服务器全局发出此指令,或将其限制为 <Location><Directory> 块。例如,以下命令会导致 Apache 将对 xxxyyy 类型的文件的请求传递到 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 服务器上复制应用程序路径结构的情况。

相关推荐
why技术6 分钟前
AI 写的文章,可能都带着手敲一遍都去不掉的“隐形水印”。
前端·人工智能·后端
愚公搬代码25 分钟前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
CodeSheep27 分钟前
又一个华为天才少年,离职了!
前端·后端·程序员
sudebao点com40 分钟前
一次“Google 能打开,FlexTV 打不开”的 DNS 故障排查:从 curl 超时到完整证据链
windows·macos·https·cdn·dns·nslookup·网络排错
kyriewen1 小时前
面试官说"打开你的AI工具"——我才发现,他考的根本不是写代码
前端·人工智能·面试
IT_陈寒2 小时前
Vue的双向绑定把我坑惨了,原来这个场景不能用
前端·人工智能·后端
hunterandroid2 小时前
[Android 从零到一] Compose LazyColumn 性能优化:key、稳定性与重组治理
android·前端
lichenyang4532 小时前
从一次团队邀请开始:用 React、NestJS 与 Socket.IO 做可靠的实时通知
前端
vtian2 小时前
一篇文章吃透 Monorepo:pnpm + Turborepo + Changesets 全流程实战(含 8 个踩坑)
前端
默_笙3 小时前
❗ 点击计数按钮,为什么"峨眉队"也跟着重新渲染?React.memo 说:我记住了
前端·javascript