如果 CICS®应用程序或资源暂时不可用,您无法通过重定向提供替代方案,或者应用程序或资源已被永久删除,您可以在多个不同级别拒绝 HTTP 请求。 如果 CICS面临来自网络客户端的长连接持续过载的风险,您也可以实施连接限制。
关于此任务
您可以在这些级别拒绝 HTTP 请求:
- 在特定请求 URL 级别。 要达到该详细程度级别,URIMAP 定义要包含请求 URL。 如果您没有 URIMAP 定义,那么可通过更改处理 HTTP 请求的分析器程序来修改这些请求的处理,但该技术不太方便。
- 在虚拟主机级别(包含特定主机名的所有请求)。 对于被合并到虚拟主机中的请求,它必须包含在 URIMAP 定义中。
- 在端口级别。 端口映射到 TCPIPSERVICE 定义。 例如,禁用默认 HTTP 端口80的TCPIPSERVICE定义后, CICS 将无法接收任何 HTTP 请求,但使用 SSL 或非标准端口的请求除外。
- 完全在所有端口级别。 在CEMT事务或CICSPlex® SM中,您可以关闭 CICS 内部 TCP /IP套接字支持,从而完全关闭 CICS 的Web支持。
通常,如果您在更细化的级别拒绝 HTTP , CICS 可以给Web客户端一个更有用的错误响应。 例如,如果您通过禁用URIMAP定义或虚拟主机来拒绝 HTTP , CICS 将通过Web错误程序向Web客户端返回 HTTP (服务不可用)。 您可以定制 Web 错误程序来修改该响应。 然而,如果您通过禁用 TCPIPSERVICE 定义来拒绝 HTTP 请求,那么 Web 客户机将只收到表明服务器错误的常规错误响应。
如果您的 CICS 区域迂到性能问题,因为过多的 Web 客户机设置了长时间存在的持久连接,那么可以实施连接调速以控制这些请求。 连接限制会自动限制单个 CICS为特定端口接受的持续 HTTP 连接数,因此您无需手动干预。 网络客户可以通过重新连接到共享端口并提供相同服务的另一个 CICS来获得持续连接。
执行连接调速时,超出设定限制的 Web 客户机需在每次响应后关闭其连接。 HTTP/1.1 服务器通常应允许持续连接,因此仅当需要为迂到性能问题的 CICS 区域提供自动干预时,才应设置连接调速。 CICS Web Support 如何处理持续连接 说明了连接调速的影响。
您可以如下方式拒绝或调速 HTTP 请求:
过程
- 要拒绝到特定请求 URL 的请求:
- 如果您有 URL 的 URIMAP 定义,请禁用 URIMAP 定义。
检查请求 URL 是否与路径中有通配符的不特定 URIMAP 定义不匹配。
CICS 通过Web错误程序向Web客户端返回 HTTP (服务不可用)。 您可以通过更改 Web 错误程序来定制该响应。
- 如果您没有 URL 的 URIMAP 定义,那么可拒绝请求,方法是更改与发出请求的端口的 TCPIPSERVICE 定义关联的分析器程序。
您可能希望对分析器程序进行编码以为每个 URL 提供各自的拒绝消息,或可能更喜欢提供涵盖任何不可用的 URL 的一条消息。
分析器程序 告诉您哪些操作适用于处理被拒绝的请求。
- 要拒绝对虚拟主机的请求 (即,对特定主机名的所有请求) ,请使用 SET HOST 命令禁用虚拟主机,如 管理虚拟主机中所述。
CICS 通过Web错误程序向Web客户端返回 HTTP (服务不可用)。 您可以通过更改 Web 错误程序来定制该响应。
- 要限制特定端口上与 CICS 区域的持续连接数,请在设置 TCPIPSERVICE 定义时指定 MAXPERSIST 属性的值。
如果达到您的限制,将执行连接调速。 CICS 将 "连接: 关闭头" 响应发送到在端口上连接的其他 Web 客户机,并且这些客户机在接收响应后必须关闭连接。 请注意,这些新 Web 客户机的性能可能会受到连接调速的影响,尤其是在它们重新连接到同一 CICS 区域时。 当这些 Web 客户机连接到另一个共享该端口且未达到其限制的 CICS 区域时,它们可以改为在该区域中维护持久连接。 已与 CICS 区域建立持久连接的 Web 客户机可以维护其持久连接。
当具有持久连接的 Web 客户机关闭其连接时, CICS 区域将开始再次接受新的持久连接。
- 要拒绝特定端口上的所有请求,请在 CEMT 或 CICSPlex SM 中使用 SET TCPIPSERVICE 命令禁用 TCPIPSERVICE 定义。
您可以选择停止侦听端口的方式:正常 - 允许活动的任务完成;立即 - 异常结束活动的任务。
- 要拒绝所有入站和出站请求并完全停止 CICS 网络支持,请在CEMT或CPSM中使用SET TCPIP命令关闭 TCP /IP。
您可以选择正常关闭 - 允许活动任务完成,或立即关闭 - 异常结束活动任务。