為路由器和訊息處理器設定傳輸層安全標準 (TLS) 通訊協定

根據預設,路由器和訊息處理器支援 TLS 1.0、1.1、1.2 版。不過,您可能需要限制路由器和訊息處理器支援的通訊協定。本文說明如何在路由器和訊息處理器上全域設定通訊協定。

如果是路由器,您也可以為個別虛擬主機設定通訊協定。詳情請參閱「設定 Private Cloud 的 API TLS 存取權」。

如果是訊息處理器,您可以為個別 TargetEndpoint 設定通訊協定。詳情請參閱「設定從 Edge 到後端的 TLS (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 通訊協定

如要在訊息處理器上設定傳輸層安全標準: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_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,請按照「設定從 Edge 到後端 (Cloud 和 Private Cloud) 的 TLS」一文所述,在虛擬主機中設定 TLS 通訊協定。