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

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

对于路由器,您还可以为各个虚拟主机设置协议。如需了解详情,请参阅为私有云配置对 API 的 TLS 访问

对于消息处理器,您可以为单个 TargetEndpoint 设置协议。如需了解详情,请参阅配置从边缘到后端(云端和私有云)的 TLS

在路由器上设置 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 协议

如需在消息处理器上设置 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_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

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

  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 协议。