為新的 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」。請設為「https」以啟用 TLS:

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD

如果設為「n」,表示傳送至 Edge UI 的 TLS 要求會在 Edge UI 終止。您必須設定 MANAGEMENT_UI_TLS_KEY_FILEMANAGEMENT_UI_TLS_CERT_FILE.

如果為「y」,表示傳送至 Edge UI 的 TLS 要求會在負載平衡器上終止,而負載平衡器會接著使用 HTTP 將要求轉送至 Edge UI。

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

您必須將 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_FILEMANAGEMENT_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 之前,請先安裝名為 shoehorn 的基本 Edge UI。安裝設定檔會使用下列屬性指定用於存取基本 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_FILEMANAGEMENT_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,請清除瀏覽器快取,然後再次嘗試登入。