根據預設,路由器和訊息處理器支援 TLS 1.0、1.1、1.2 版。不過,您可能需要限制路由器和訊息處理器支援的通訊協定。本文說明如何在路由器和訊息處理器上全域設定通訊協定。
如果是路由器,您也可以為個別虛擬主機設定通訊協定。詳情請參閱「設定 Private Cloud 的 API TLS 存取權」。
如果是訊息處理器,您可以為個別 TargetEndpoint 設定通訊協定。詳情請參閱「設定從 Edge 到後端的 TLS (Cloud 和私有雲)」。
在路由器上設定 TLS 通訊協定
如要在路由器上設定 TLS 通訊協定,請在 router.properties 檔案中設定屬性:
- 在編輯器中開啟
router.properties檔案。如果檔案不存在,請建立檔案:vi /opt/apigee/customer/application/router.properties
- 視需要設定屬性:
# Possible values are space-delimited list of: TLSv1 TLSv1.1 TLSv1.2 conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1.2
- 儲存變更。
- 確認屬性檔案的擁有者是「apigee」使用者:
chown apigee:apigee /opt/apigee/customer/application/router.properties
- 重新啟動路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- 檢查 NGINX 檔案
/opt/nginx/conf.d/0-default.conf,確認通訊協定已正確更新:cat /opt/nginx/conf.d/0-default.conf
確認
ssl_protocols的值為 TLSv1.2。 - 如果您在虛擬主機中使用雙向 TLS,也必須在虛擬主機中設定 TLS 通訊協定,詳情請參閱「設定私有雲 API 的 TLS 存取權」。
在訊息處理器上設定 TLS 通訊協定
如要在訊息處理器上設定傳輸層安全標準:TLS 通訊協定,請在 message-processor.properties 檔案中設定屬性:
- 在編輯器中開啟
message-processor.properties檔案。如果檔案不存在,請建立檔案:vi /opt/apigee/customer/application/message-processor.properties
- 使用下列語法設定屬性:
# 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_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_RSA_WITH_AES_256_GCM_SHA384TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384TLS_DHE_RSA_WITH_AES_256_GCM_SHA384TLS_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」。
- 儲存變更。
- 確認屬性檔案的擁有者是「apigee」使用者:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 重新啟動訊息處理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 如果您在後端使用雙向 TLS,請按照「設定從 Edge 到後端 (Cloud 和 Private Cloud) 的 TLS」一文所述,在虛擬主機中設定 TLS 通訊協定。