為新版 Edge UI 設定 TLS

根據預設,您會使用新版 Edge UI 節點和通訊埠 3001 的 IP 位址或 DNS 名稱,透過 HTTP 存取新版 Edge UI。例如:

http://edge_UI_IP:3001

或者,您也可以設定新版 Edge 使用者介面的 TLS 存取權,以便透過以下形式存取:

https://edge_UI_IP:3001

TLS 規定

新版 Edge UI 支援 TLS 1.2 以上版本。如果您在新版 Edge UI 啟用 TLS,使用者必須透過與 TLS 1.2 以上版本相容的瀏覽器,連線至新版 Edge UI。

TLS 設定屬性

執行下列指令,為 New Edge UI 設定 TLS:

/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

其中 configFile 是您用來安裝或設定新版 Edge UI 的設定檔。

執行這項指令前,請務必編輯設定檔,設定控制 TLS 的必要屬性。下表說明用於設定新版 Edge UI TLS 的屬性:

屬性 說明 是否必要?
MANAGEMENT_UI_SCHEME

設定用於存取新版 Edge UI 的通訊協定:「http」或「https」。 預設值為「http」。如要啟用 TLS,請將其設為「https」:

MANAGEMENT_UI_SCHEME=https
是
MANAGEMENT_UI_TLS_OFFLOAD

如果為「n」,則指定傳送至新版 Edge UI 的 TLS 要求會在新版 Edge UI 終止。您必須設定 MANAGEMENT_UI_TLS_KEY_FILE 和 MANAGEMENT_UI_TLS_CERT_FILE。

如果設為「y」,則指定傳送至新版 Edge UI 的 TLS 要求會在負載平衡器上終止,然後負載平衡器會使用 HTTP 將要求轉送至新版 Edge UI。

如果您在負載平衡器上終止 TLS,新版 Edge UI 仍須知道原始要求是透過 TLS 傳入。舉例來說,有些 Cookie 會設定 Secure 標記。

您必須將 MANAGEMENT_UI_SCHEME 設為「https」,否則系統會忽略 MANAGEMENT_UI_TLS_OFFLOAD:

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD=y
是
MANAGEMENT_UI_TLS_KEY_FILE

MANAGEMENT_UI_TLS_CERT_FILE

如果是 MANAGEMENT_UI_TLS_OFFLOAD=n,請指定 TLS 金鑰和憑證檔案的絕對路徑。檔案必須採用 PEM 格式,不含通關密語,且必須由「apigee」使用者擁有。

建議將這些檔案放在下列位置:

/opt/apigee/customer/application/edge-management-ui

如果該目錄不存在,請建立該目錄。

如果 MANAGEMENT_UI_TLS_OFFLOAD=y,請省略 MANAGEMENT_UI_TLS_KEY_FILE 和 MANAGEMENT_UI_TLS_CERT_FILE。因為對新版 Edge UI 的要求是透過 HTTP 傳入。

是 (如果MANAGEMENT_UI_TLS_OFFLOAD=n)
MANAGEMENT_UI_PUBLIC_URIS

如果是 MANAGEMENT_UI_TLS_OFFLOAD=n,則指定 New Edge UI 的網址。

請根據設定檔中的其他屬性設定這個屬性。例如:

MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT

其中:

  • MANAGEMENT_UI_SCHEME 指定通訊協定,如上所述,可以是「http」或「https」。
  • MANAGEMENT_UI_IP 指定新版 Edge UI 的 IP 位址或 DNS 名稱。
  • MANAGEMENT_UI_PORT 會指定 New Edge UI 使用的連接埠。

如要進一步瞭解這些屬性,請參閱「設定新版 Edge UI」。

如果 MANAGEMENT_UI_TLS_OFFLOAD=y:

  • MANAGEMENT_UI_IP 指定負載平衡器的 IP 位址或 DNS 名稱,而非新版 Edge UI。
  • 負載平衡器和新版 Edge UI「必須」使用相同的要求通訊埠編號,例如 3001。使用 MANAGEMENT_UI_PORT 在負載平衡器和 New Edge UI 上指定通訊埠號碼。

是

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS

以半形逗號或空格分隔的字串,定義可用的 TLS 加密套件清單。

以半形逗號分隔的字串:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

以雙引號括住的字串 (以空格分隔):

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"

設定 TLS

如要設定新版 Edge UI 的 TLS 存取權,請按照下列步驟操作:

  1. 產生 TLS 憑證和金鑰,並儲存為不含密碼詞組的 PEM 檔案。例如:

    mykey.pem
    mycert.pem

    產生 TLS 憑證和金鑰的方法有很多種。舉例來說,您可以執行下列指令,產生未簽署的憑證和金鑰:

    openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -days 365 -nodes -subj '/CN=localhost'
  2. 將金鑰和憑證檔案複製到 /opt/apigee/customer/application/edge-management-ui 目錄。如果該目錄不存在,請建立目錄。
  3. 確認憑證和金鑰的擁有者是「apigee」使用者:

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. 編輯用於安裝新版 Edge UI 的設定檔,設定下列 TLS 屬性:

    # Set to https to enable TLS.
    MANAGEMENT_UI_SCHEME=https 
    # Do NOT terminate TLS on a load balancer.
    MANAGEMENT_UI_TLS_OFFLOAD=n
    
    # Specify the key and cert. 
    MANAGEMENT_UI_TLS_KEY_FILE=/opt/apigee/customer/application/edge-management-ui/mykey.pem
    MANAGEMENT_UI_TLS_CERT_FILE=/opt/apigee/customer/application/edge-management-ui/mycert.pem
    
    # Leave these properties set to the same values as when you installed the New Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
  5. 執行下列指令來設定 TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    其中 configFile 是設定檔的名稱。

    指令碼會重新啟動新版 Edge UI。重新啟動後,新版 Edge UI 即可透過 HTTPS 存取。如果啟用 TLS 後無法登入新版 Edge UI,請清除瀏覽器快取,然後再次嘗試登入。

在負載平衡器上終止 TLS 時設定 New Edge UI

如果負載平衡器會將要求轉送至 New Edge UI,您可以選擇在負載平衡器上終止 TLS 連線,然後讓負載平衡器透過 HTTP 將要求轉送至 New Edge UI:

架構圖顯示負載平衡器上的 TLS 終止,將 HTTP 要求轉送至通訊埠 3001 上的新版 Edge UI (edge-management-ui)

這項設定受到支援,但您必須據此設定負載平衡器和新版 Edge UI。

如要在 TLS 終止於負載平衡器時設定新版 Edge UI,請按照下列步驟操作:

  1. 編輯用於安裝 New Edge UI 的設定檔,設定下列 TLS 屬性:

    # Set to https to enable TLS
    MANAGEMENT_UI_SCHEME=https
    # Terminate TLS on a load balancer
    MANAGEMENT_UI_TLS_OFFLOAD=y
    # Set to the IP address or DNS name of the load balancer.
    MANAGEMENT_UI_IP=LB_IP_DNS
    # Set to the port number for the load balancer and New Edge UI.
    # The load balancer and the New Edge UI must use the same port number.
    MANAGEMENT_UI_PORT=3001
    
    # Leave these properties set to the same values as when you installed the New Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    

    如果設定 MANAGEMENT_UI_TLS_OFFLOAD=y,請省略 MANAGEMENT_UI_TLS_KEY_FILE 和 MANAGEMENT_UI_TLS_CERT_FILE。因為對新版 Edge UI 的要求是透過 HTTP 傳入。

  2. 執行下列指令來設定 TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    其中 configFile 是設定檔的名稱。

    指令碼會重新啟動 New Edge UI。重新啟動後,New Edge UI 支援透過負載平衡器,以 HTTPS 存取。 啟用 TLS 後,如果無法登入 New Edge UI,請清除瀏覽器快取,然後再試一次。

在 New Edge UI 中停用 TLS

如要在新版 Edge UI 停用 TLS,請按照下列步驟操作:

  1. 編輯用於安裝 New Edge UI 的設定檔,設定下列 TLS 屬性:

    # Set to http to disable TLS.
    MANAGEMENT_UI_SCHEME=http
    
    # Only if you had terminated TLS on a load balancer,
    # reset to the IP address or DNS name of the New Edge UI.
    MANAGEMENT_UI_IP=edge_UI_IP_DNS
    
  2. 執行下列指令來停用 TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    其中 configFile 是設定檔的名稱。

    指令碼會重新啟動新版 Edge UI。您現在可以透過 HTTP 存取新版 Edge UI。 如果停用 TLS 後無法登入新版 Edge UI,請清除瀏覽器快取,然後再次嘗試登入。