为路由器和消息处理器设置 TLS 协议

默认情况下,路由器和邮件处理器支持 TLS 1.0、1.1、1.2 版,但是, 可能需要限制路由器和消息处理器支持的协议。此文档 介绍了如何在路由器和消息处理器上全局设置协议。

对于路由器,您还可以为各个虚拟主机设置协议。请参阅配置对 API 的 TLS 访问权限 。

对于消息处理器,您可以为单个 TargetEndpoint 设置协议。 请参阅配置 TLS 从边缘到后端(Cloud 和 Private Cloud)

在路由器上设置 TLS 协议

如需在路由器上设置 TLS 协议,请在 router.properties 中设置属性 文件:

  1. 在以下位置打开 router.properties 文件: 编辑者。如果该文件不存在,请创建该文件:
    vi /opt/apigee/customer/application/router.properties
  2. 根据需要设置属性:
    # Possible values are space-delimited list of: TLSv1 TLSv1.1 TLSv1.2
    conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1.2
  3. 保存更改。
  4. 确保属性文件归“apigee”所有用户:
     chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. 重启路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. 通过检查 Nginx 文件来验证协议是否已正确更新 /opt/nginx/conf.d/0-default.conf:
    cat /opt/nginx/conf.d/0-default.conf

    确保 ssl_protocols 的值为 TLSv1.2。

  7. 如果您通过虚拟主机使用双向 TLS,则还必须在 配置 TLS 访问 适用于私有云的 API

设置邮件的 TLS 协议 处理器

要在邮件处理器上设置 TLS 协议,请在 message-processor.properties 文件:

  1. message-processor.properties 编辑器。如果该文件不存在,请创建该文件:
    vi /opt/apigee/customer/application/message-processor.properties
  2. 使用以下语法配置属性:
    # Possible values are a comma-delimited list of TLSv1, TLSv1.1, and TLSv1.2
    conf/system.properties+https.protocols=[TLSv1][,TLSv1.1][,TLSv1.2]
    # Possible values are a comma-delimited list of SSLv3, TLSv1, TLSv1.1, TLSv1.2
    # SSLv3 is required
    conf/jvmsecurity.properties+jdk.tls.disabledAlgorithms=SSLv3[,TLSv1][,TLSv1.1][,TLSv1.2]
    
    # Specify the ciphers that the Message Processor supports. (You must separate ciphers with a comma.):
    conf_message-processor-communication_local.http.ssl.ciphers=cipher[,...]

    可能的值 conf_message-processor-communication_local.http.ssl.ciphers 是:

    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
    • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    例如:

    conf/system.properties+https.protocols=TLSv1.2
    conf/jvmsecurity.properties+jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1
    conf_message-processor-communication_local.http.ssl.ciphers=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    如需查看相关属性的完整列表,请参阅 在单个网域间配置 路由器和消息处理器

  3. 保存更改。
  4. 确保属性文件归“apigee”所有用户:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. 重启消息处理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. 如果您在后端使用双向 TLS,请将虚拟主机中的 TLS 协议设置为 配置 TLS 从边缘到后端(Cloud 和 Private Cloud)