為新的 Edge UI 設定 TLS

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

http://newue_IP:3001

或者,您也可以設定 Edge UI 的 TLS 存取權,以便透過以下格式存取:

https://newue_IP:3001

TLS 規定

Edge UI 僅支援 TLS 1.2 版。如果您在 Edge UI 上啟用 TLS,使用者必須使用與 TLS v1.2 相容的瀏覽器連線至 Edge UI。

TLS 設定屬性

執行下列指令,為 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,則指定 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 指定 Edge UI 使用的通訊埠。

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

如果 MANAGEMENT_UI_TLS_OFFLOAD=y:

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

是

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"
SHOEHORN_SCHEME

安裝新版 Edge UI 之前,您必須先安裝基本 Edge UI,也就是 shoehorn。安裝設定檔會使用下列屬性,指定用於存取基本 Edge UI 的通訊協定「http」:

SHOEHORN_SCHEME=http

基本 Edge UI 不支援 TLS,因此即使您在 Edge UI 上啟用 TLS,這項屬性仍須設為「http」。

是,且設為「http」

設定 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 Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
  5. 執行下列指令來設定 TLS:

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

    其中 configFile 是設定檔的名稱。

    指令碼會重新啟動 Edge UI。

  6. 執行下列指令,設定並重新啟動 shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    重新啟動後,Edge UI 支援透過 HTTPS 存取。如果啟用 TLS 後無法登入 Edge UI,請清除瀏覽器快取,然後再次嘗試登入。

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

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

在負載平衡器上終止 TLS

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

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

  1. 編輯用於安裝 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 Edge UI.
    # The load balancer and the Edge UI must use the same port number.
    MANAGEMENT_UI_IP=3001
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
    

    如果設定 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 是設定檔的名稱。

    指令碼會重新啟動 Edge UI。

  3. 執行下列指令,設定並重新啟動 shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    重新啟動後,Edge UI 支援透過 HTTPS 存取。如果啟用 TLS 後無法登入 Edge UI,請清除瀏覽器快取,然後再次嘗試登入。

在 Edge UI 停用 TLS

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

  1. 編輯用於安裝 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 Edge UI.
    MANAGEMENT_UI_IP=newue_IP_DNS
    
  2. 執行下列指令來停用 TLS:

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

    其中 configFile 是設定檔的名稱。

    指令碼會重新啟動 Edge UI。

  3. 執行下列指令,設定並重新啟動 shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    現在可以透過 HTTP 存取 Edge UI。 如果停用 TLS 後無法登入 Edge UI,請清除瀏覽器快取,然後再次嘗試登入。