为 CICS Web Support 创建 TCPIPSERVICE 资源定义

使用 TCPIPSERVICE 资源定义来定义端口与 CICS® 服务 (包括 CICS Web Support) 之间的关联。 为用于 CICS Web Support 的每个端口定义并安装 TCPIPSERVICE 资源定义。

关于此任务

在 CICS 系统中处于活动状态的每个 TCPIPSERVICE 定义都必须指定唯一的端口号。 CICS 使用端口的 TCPIPSERVICE 定义来确定在该端口上接收入站 TCP/IP 连接请求时调用哪个 CICS 服务。 使用 PROTOCOL 属性确定该服务。 对标准 CICS Web Support 指定 HTTP ,对使用 CICS Web Support 处理的非HTTP 请求指定 USER。

对于 CICS Web Support ,请为用于因特网服务的缺省端口号或众所周知的端口号创建 TCPIPSERVICE 定义。 对于 HTTP,缺省端口号为 80,而对于 HTTPS,缺省端口号为 443。 您还可以使用非标准的端口号。

每个 TCPIPSERVICE 定义只能为 Web 连接任务指定一个分析器程序和一个事务定义。 如果您需要使用这些项中的多个项,那么必须使用不同的 TCPIPSERVICE 定义并因 而使用不同的端口。

CICS 为组 DFH$SOT 中的 CICS Web Support 提供样本 TCPIPSERVICE 定义:
HTTPNSSL
没有 SSL 支持的 CICS Web TCPIPSERVICE
HTTPSSL
具有 SSL 支持的 CICS Web TCPIPSERVICE
重要信息: 使用 TCPIPSERVICE 资源定义来指定应用于每个端口的安全措施。 您可以选择是否使用 SSL;如果您使用 SSL,请选择要应用的确切安全措施;例如,认证方法、通过客户机和服务器发送证书以及消息的加密。 请参阅 针对 CICS Web Support 的安全性 ,以获取有关可用于确保 CICS Web Support 设施安全的安全性功能的更多信息。

过程

  1. 标识要用于 CICS Web Support 的 TCP/IP 端口。
    建议您保留端口号以供 CICS Web Support 使用。 请参阅 为 CICS Web Support 保留端口 ,以获取有关端口使用情况的信息。
  2. 创建 TCPIPSERVICE 资源。
    当您在该端口为入站 HTTP 请求设置 URIMAP 定义时,请指定 TCPIPSERVICE 定义的名称。
  3. 使用 STATUS 属性可指定 CICS 是否在安装定义后立即开始侦听此服务。
    如果您指定 CLOSED,那么必须在可以使用该服务之前将它设置为打开。 您可以使用 CEMT 事务或 SET TCPIPSERVICE 系统编程命令将服务设置为打开或关闭。
  4. 指定 PORTNUMBER 属性作为该定义适用的 TCP/IP 端口的号码。
  5. 使用 HOST 属性指定 TCPIPSERVICE 将侦听入站连接的点分十进制或冒号十六进制 IP 地址。 您还可以使用 IPADDRESS 属性为现有程序指定点分十进制 IP 地址。
    或者,对于具有多个 IP 堆栈的配置,可以指定 INADDR_ANY 以使 CICS 尝试绑定到定义了该 IP 堆栈的每个堆栈上的端口。 如果您具有一个多协议集的 CINET 环境,并且只希望向缺省的 TCP/IP 协议集分配亲缘关系,那么您可以指定 DEFAULT 执行该操作。
    有关此 TCPIPSERVICE 资源定义属性的参考信息详细说明了一些其他注意事项,如果您希望多个 CICS 区域共享此 TCPIPSERVICE 定义,或者如果您希望多个 CICS 区域绑定到它指定的端口号,那么这些注意事项很重要。
  6. 使用 PROTOCOL 属性可指定 CICS Web Support 处理此端口上的请求。
    1. 对于常规 HTTP 请求,指定 HTTP。 HTTP 请求可能有资格通过直接连接的用户事务(绕过 Web 连接任务)来进行处理。 有关更多信息,请参阅 使用直接连接的用户事务处理 HTTP 请求
      如果指定端口 80 或 443 ,那么 CICS 将强制 HTTP 。 该选项适用带 SSL 的 HTTP 和不带 SSL 的 HTTP。 SSL 选项指定是否包含 SSL。
    2. 对使用 CICS Web Support 处理的非HTTP 请求指定 USER。
      指定 USER 时,将使用 CICS Web Support 来处理请求,但不会对使用此协议发送和接收的消息执行接受检查。 请求标记为非 HTTP 并直接传递到分析器程序。
      URIMAP 定义不用于这些请求。
  7. 将 TRANSACTION 属性指定为 Web 连接任务的 4 字符标识;对于 HTTP 请求,它通常是 CWXN,而对于非 HTTP(USER 协议)请求,它通常是 CWXU。
    该任务处理请求的初始处理。 如果指定端口 80 或 443 ,那么 CICS 会提供 CWXN 作为缺省值。 为了满足记帐或监控目的,您可以为必须运行程序 DFHWBXN 的 CWXN 或 CWXU 指定别名。
  8. 指定 URM 属性作为与该 TCPIPSERVICE 定义关联的分析器程序的名称。
    对于非 HTTP(USER 协议)请求,总是使用分析器程序。
    对于 HTTP 请求,如果 URIMAP 定义指定使用分析器程序,或者如果不存在 URIMAP 定义,那么分析器程序用于解释该请求。 您必须指定分析器程序。 只能为每个 TCPIPSERVICE 定义选择一个分析器程序,但是您可以对该分析器程序进行编码以处理任何请求。
    分析器程序 告诉您,如果您打算使用 URIMAP 定义来处理所有 HTTP 请求,那么分析器程序必须提供基本支持。 启用 CICS Web Support for CICS 作为 HTTP 服务器 中的体系结构指导可帮助您决定是否涉及任何特定 HTTP 请求的分析器程序。
  9. 使用 SOCKETCLOSE 属性可指定在针对该套接字上的传入数据发出接收之后, CICS 在关闭套接字之前等待的时间长度。
    NO 意味着套接字保持打开状态直到接收到数据或直到 Web 客户机将其关闭。 要防止套接字被慢速或损坏的 Web 客户机阻塞,请指定超时值而不是指定 NO。 在建立连接后由 Web 连接任务发出的第一个接收命令上,将忽略此超时值,并且该任务将等待从 Web 客户机接收数据一段由 CICS 确定的时间 (对于 HTTP为 30 秒)。 这种延迟将防止套接字连接一启动就关闭(即使没有立即可用的数据),从而防止 Web 客户机上出现连接复位错误。
    注: 对于 CICS Web Support , SOCKETCLOSE 的零设置表示无法维护持久连接,即使 Web 客户机请求该连接也是如此。 该设置不符合 HTTP/1.1 规范。 仅当您在当前未处理外部请求 (例如在测试环境中) 的 CICS 区域中对 SOCKETCLOSE (0) 有特殊要求时,才使用 HTTP 协议指定 SOCKETCLOSE ()。
  10. 使用 BACKLOG 属性指定 TCP/IP 开始拒绝来自 Web 客户机的入站请求之前可排队的连接数。
    如果 BACKLOG 的值小于 TCP/IP 属性 SOMAXCONN 的值,那么将使用 BACKLOG 属性指定的积压值打开 TCPIPSERVICE。 如果 BACKLOG 的值大于 SOMAXCONN,那么将使用 SOMAXCONN 指定的积压值打开 TCPIPSERVICE。 缺省值为 0,这意味着使用 SOMAXCONN 指定的积压值打开 TCPIPSERVICE。
    缺省值为 1。 值为零将禁用入局连接请求。 如果 BACKLOG 的值大于 SOMAXCONN 的 TCP/IP 配置值,那么 TCP/IP 将使用由 SOMAXCONN 属性指定的值。
  11. 如果需要指定 CICS 区域在任何时候允许此端口使用的来自 Web 客户机的持久连接数限制,请使用 MAXPERSIST 属性。
    缺省值是没有限制,这是 HTTP/1.1 服务器的正常行为。 仅在作为 HTTP 服务器的 CICS 由于长期持续连接而迂到性能问题的区域中指定限制。 达到此限制时, CICS 将实施连接调速。 CICS Web Support 如何处理持久连接 说明在指定限制时发生的情况。
    注: MAXPERSIST 的零设置表示不允许任何 Web 客户机进行持久连接。 该设置不符合 HTTP/1.1 规范。 仅当您在当前未处理外部请求 (例如在测试环境中) 的 CICS 区域中有特殊需求时,才指定 MAXPERSIST (0)。
  12. 使用 MAXDATALEN 属性指定该连接上可以接收的最长数据长度。
    缺省值为 32 KB,最大值为 524 288 KB。 该选项有助于防止在涉及大量数据传输时受到拒绝服务的攻击。
  13. 使用 SSL 属性指定是否将安全套接字层 (SSL) 用于该端口。
    YES 表示使用 SSL , CICS 将服务器证书发送到 Web 客户机。 CLIENTAUTH 表示使用 SSL ,并且除了 CICS 将服务器证书发送到 Web 客户机外,还请求 Web 客户机将客户机证书发送到 CICS。 ATTLSAWARE 表示 CICS 查询连接以查看 AT-TLS 是否处于活动状态。 CICS 检索客户机证书 (如果合作伙伴提供了客户机证书)。 ATTLSAWARE 要求使用 PROTOCOL(HTTP)。 如果指定端口号 443 ,那么 CICS 提供 YES 作为缺省值,如果指定端口号 80 ,那么强制为 NO。
    Security for CICS Web Support 说明了在使用 SSL 时要执行的操作。
    由具有 SSL(NO) 和 SSL(ATTLSAWARE) 设置的 TCPIPSERVICE 接收的 HTTP 请求可能有资格通过直接连接的用户事务(绕过 Web 连接任务)来进行处理。 有关更多信息,请参阅 使用直接连接的用户事务处理 HTTP 请求
  14. 如果指定了 SSL (YES) 或 SSL (CLIENTAUTH) ,请使用 CERTIFICATE 属性指定 CICS 在 SSL 握手期间用作服务器证书的 X.509 证书的标签。
    如果忽略该属性,那么使用在针对 CICS 区域用户标识的密钥环中定义的缺省证书。 证书必须存放在 RACF® 的钥匙圈中。有关使用证书的更多信息,请参阅 CICS 网络支持的安全性
  15. 使用 AUTHENTICATE 属性指定针对在该端口发出请求的 Web 客户机使用的认证级别。
    Security for CICS Web Support 说明了认证和标识。
    1. 如果发送认证或标识信息不需要 Web 客户机,请指定 NO。
      如果客户机发送已向安全管理器注册的有效证书,那么 CICS 可以使用该证书。
    2. 指定 BASIC 以进行 CICS 尝试 HTTP 基本认证,其中 CICS 从 Web 客户机请求用户标识和密码。
      HTTP 基本认证 更详细地说明了基本认证。
    3. 指定 CERTIFICATE 以使用 TLS 客户机证书认证。
      Web 客户机必须发送已向安全管理器注册并与用户标识关联的有效证书。 如果未收到有效的证书,或证书未与某个用户标识关联,那么会拒绝该连接。
      如果使用该选项,那么必须指定 SSL(CLIENTAUTH) 或 SSL(ATTLSAWARE)。
    4. 指定 AUTOREGISTER 以将 TLS 客户机证书认证用于安全管理器的自动注册。
      Web 客户机必须发送有效证书。 如果 CICS 发现证书尚未向安全管理器注册,那么将使用 HTTP 基本认证来请求用户标识和密码,并且 CICS 使用此信息来注册证书。
      如果使用该选项,那么必须指定 SSL(CLIENTAUTH) 或 SSL(ATTLSAWARE)。
    5. 指定 AUTOMATIC 以将 TLS 客户机证书认证用于安全管理器的自动注册 (对于 AUTOREGISTER 选项) ,或者如果未发送证书,那么指定 AUTOMATIC 以使用 HTTP 基本认证 (对于 BASIC 选项)。
  16. 使用 REALM 属性来指定 HTTP 基本认证所用的域。
    在基本认证过程中,用户会看见该域。 它标识了所请求的认证信息(即用户标识和密码)将应用的资源集。
    1. 如果使用不同 TCPIPSERVICE 定义提供的资源需要不同的认证信息,请指定不同的域以便最终用户了解该需求。
    2. 如果用户在各个资源中使用相同的认证信息,那么您可以在多个 TCPIPSERVICE 定义中指定相同的域。
    3. 如果您没有指定 REALM 属性,那么使用缺省域。
      缺省域为:
      realm="CICS application aaaaaaaa"
      其中 aaaaaaaa 是 CICS 区域的 APPLID。