Private Cloud v. 4.16.09 版本
根據預設,管理 API 的 TLS 已停用,您必須使用管理伺服器節點的 IP 位址和 8080 通訊埠,透過 HTTP 存取 Edge 管理 API。例如:
http://ms_IP:8080
或者,您也可以設定管理 API 的 TLS 存取權,以便透過以下表單存取:
https://ms_IP:8443
在這個範例中,您要將 TLS 存取權設為使用通訊埠 8443。不過,Edge 並未要求使用該通訊埠號碼,您可以將管理伺服器設定為使用其他通訊埠值。唯一的要求是防火牆必須允許透過指定通訊埠的流量。
為確保管理 API 的進出流量加密,請在 /opt/apigee/customer/application/management-server.properties 檔案中設定相關設定。
除了 TLS 設定外,您也可以修改 management-server.properties 檔案,控管密碼驗證 (密碼長度和強度)。
確認 TLS 通訊埠已開啟
本節的程序會將 TLS 設定為在管理伺服器上使用通訊埠 8443。無論使用何種通訊埠,您都必須在管理伺服器上開啟該通訊埠。例如,您可以使用下列指令開啟它:
$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose
設定 TLS
編輯 /opt/apigee/customer/application/management-server.properties 檔案,即可控制管理 API 流量中的 TLS 用量。如果這個檔案不存在,請建立該檔案。
請按照下列程序設定 Management API 的 TLS 存取權:
- 產生包含 TLS 認證和私密金鑰的 KeyStore JKS 檔案。詳情請參閱為 Edge On Premises 設定 TLS/SSL。
- 將金鑰庫 JKS 檔案複製到管理伺服器節點的目錄,例如 /opt/apigee/customer/application。
- 將 JKS 檔案的擁有權變更為 apigee:
$ chown apigee:apigee keystore.jks
其中 keystore.jks 是 KeyStore 檔案的名稱。 - 編輯 /opt/apigee/customer/application/management-server.properties 來設定下列屬性。如果該檔案不存在,請建立檔案:
conf_webserver_ssl.enabled=true
# 如果所有通訊都應透過 HTTPS 進行,請將下方設為 true。
# 不建議在您已測試 Edge API 的 TLS/HTTPS 測試,
# 將 Edge UI 設為使用 TLS 存取 Edge API,如下所示。
conf_webserver_http.turn.off=false
conf_webserver_ssl.port=8443
conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
# 請在下方輸入經過模糊處理的 KeyStore 密碼。
conf_webserver_keystore.password=OBF:obfuscatedPassword
conf_webserver_cert.alias=apigee-devtest
其中 keyStore.jks 是您的 KeyStore 檔案,而 obfuscatedPassword 是經過模糊處理的 KeyStore 密碼。如要瞭解如何產生經過模糊處理的密碼,請參閱「為 Edge On Premises 設定 TLS/SSL」。 - 使用以下指令重新啟動 Edge Management Server:
$ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
管理 API 現已支援透過 TLS 存取。
確認 TLS 運作正常 (包括確認是否可用於 Edge UI) 後,您可以按照下一節所述,停用管理 API 的 HTTP 存取權。
將 Edge UI 設為使用傳輸層安全標準 (TLS) 存取 Edge API
在上述程序中,Apigee 建議保留 conf_webserver_http.turn.off=false,以便 Edge UI 繼續透過 HTTP 發出 Edge API 呼叫。
請按照下列程序設定 Edge UI,以便只透過 HTTPS 發出這些呼叫:
- 按照上述說明設定管理 API 的 TLS 存取權。
- 確認傳輸層安全標準 (TLS) 適用於 Management API 後,請編輯 /opt/apigee/customer/application/management-server.properties,來設定下列屬性:
conf_webserver_http.turn.off=true - 使用下列指令重新啟動 Edge Management Server:
$ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - 編輯 /opt/apigee/customer/application/ui.properties,為 Edge UI 設定下列屬性。如果該檔案不存在,請建立檔案:
conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"
其中 FQDN 是管理伺服器的憑證位址完整網域名稱,而通訊埠號碼則是 conf_webserver_ssl.port 在上述指定的通訊埠。 - 只有在您設定上述 Management API 的 TLS 存取權時,才使用自行簽署的憑證 (不建議在正式環境中使用):請將下列屬性新增至 ui.properties:
conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true
否則,Edge UI 會拒絕自行簽署的憑證。 - 使用下列指令重新啟動 Edge UI:
$ /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
管理伺服器的 TLS 屬性
下表列出您可以在 management-server.properties 中設定的所有 TLS/SSL 屬性:
資源 |
說明 |
---|---|
conf_webserver_http.port=8080 |
預設值為 8080。 |
conf_webserver_ssl.enabled=false |
啟用/停用 TLS/SSL。啟用 TLS/SSL (設為 true) 時,您也必須設定 ssl.port 和 keystore.path 屬性。 |
conf_webserver_http.turn.off=true |
啟用/停用 http 和 https。如果只想使用 HTTPS,請將預設值保留為 true。 |
conf_webserver_ssl.port=8443 |
TLS/SSL 通訊埠。 啟用 TLS/SSL 時必填 (conf_webserver_ssl.enabled=true)。 |
conf_webserver_keystore.path=<path> |
KeyStore 檔案的路徑。 啟用 TLS/SSL 時必填 (conf_webserver_ssl.enabled=true)。 |
conf_webserver_keystore.password= |
使用以下格式的模糊處理密碼:OBF:xxxxxxxxxx |
conf_webserver_cert.alias= |
選用的 KeyStore 憑證別名 |
conf_webserver_keymanager.password= |
如果您的金鑰管理工具設有密碼,請輸入經過模糊處理的密碼版本,格式如下:OBF:xxxxxxxxxx |
conf_webserver_trust.all= <false | true> conf_webserver_trust.store.path=<path> conf_webserver_trust.store.password= |
設定信任存放區。判斷是否要接受所有 TLS/SSL 憑證 (例如,接受非標準類型)。預設值為 false。提供信任儲存庫的路徑,並以以下格式輸入經過模糊處理的信任儲存庫密碼:OBF:xxxxxxxxxx |
conf_webserver_Exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2> conf_webserver_include.cipher.suites= |
指明要納入或排除的任何加密套件。舉例來說,如果您發現某個密碼有安全漏洞,可以在此排除該密碼。請使用空格分隔多個加密。 如要瞭解密碼組合和密碼學架構,請參閱:
http://docs.oracle.com/javase/8/docs/technotes/ |
conf_webserver_ssl.session.cache.size= conf_webserver_ssl.session.timeout= |
用於決定下列項目的整數:
|