更新 Cloud 的傳輸層安全標準 (TLS) 憑證

查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

您在虛擬主機或目標端點/目標伺服器中指定金鑰庫和信任存放區名稱的方式,會決定您執行憑證更新的方式。可指定的意圖包括 使用下列指令,瞭解 KeyStore 和信任儲存庫的名稱:

  • 參考資料 - 建議
  • 直接姓名
  • 流程變數

這些方法對憑證更新程序的影響不同,詳情請見 下表。

設定類型 如何更新/替換憑證 如何更新虛擬主機、目標端點/目標伺服器
參考資料 (建議)

針對 KeyStore,請使用新名稱建立新的 KeyStore,並使用與舊別名相同的名稱建立別名。

如要建立信任存放區,請使用新名稱建立信任存放區。

更新 KeyStore 或信任儲存庫的參照。

無須與 Apigee Edge 支援團隊聯絡。

流程變數 (僅限目標端點)

針對 KeyStore,以新名稱和別名 相同的名稱或新名稱

針對信任儲存庫,請以新名稱建立信任存放區。

在每個要求中傳遞更新後的流程變數,並附上新的 KeyStore、別名或 TrustStore 名稱。

無須與 Apigee Edge 支援團隊聯絡。

直接 建立新的 KeyStore、別名和信任存放區。

如果是虛擬主機,請Apigee Edge 支援團隊聯絡,重新啟動路由器。

如果目標端點/目標伺服器使用信任存放區,請重新部署 Proxy。

直接 刪除金鑰庫或信任庫,並使用相同名稱重新建立。

不需要更新虛擬主機。不過,到新的 KeyStore 和 別名已設定完成。

如果 KeyStore 用於 Edge 和後端服務之間的雙向 TLS, 請與 Apigee Edge 支援團隊聯絡,以重新啟動訊息處理器。

直接 僅適用於信任儲存庫,請將新的憑證上傳至信任存放區。

如果是虛擬主機,請Apigee Edge 支援團隊聯絡,重新啟動 Edge Router。

如果信任存放區由目標端點/目標伺服器使用,請Apigee Edge 支援團隊聯絡,重新啟動訊息處理器。

在更新前後測試憑證

更新前,請先使用下列 openssl 指令測試目前的憑證 它:

echo | openssl s_client -servername HOSTNAME -connect ORG-ENV.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject

其中 HOSTNAME 是主機別名,ORG-ENV 則是機構; 環境。例如:

echo | openssl s_client -servername example.com -connect myOrg-prod.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject

輸出內容應如下所示:

notBefore=Dec 30 22:11:38 2015 GMT
notAfter=Dec 30 22:11:38 2016 GMT
subject= /OU=Domain Control Validated/CN=*.apigee.net

更新憑證後,請使用相同的指令進行測試。

確定虛擬主機或目標端點/目標伺服器參照 KeyStore 的方式,並 信任儲存庫

  1. 前往 https://enterprise.apigee.com 登入 Edge 管理 UI。
  2. 在 Edge 管理 UI 選單中,選取貴機構的名稱。
  3. 針對虛擬主機,決定虛擬主機如何指定 KeyStore 和 TrustStore。
    1. 視您的 Edge UI 版本而定:
      1. 如果您使用的是 Edge 經典版 UI:請依序選取「API」>「環境設定」
      2. 如果使用的是新版 Edge UI:請選取 Admin > 環境。
    2. 選取「虛擬主機」分頁。
    3. 針對要更新的特定虛擬主機,選取「Show」按鈕,即可查看其屬性。顯示畫面包含下列屬性:
      1. Key Store:目前 KeyStore 的名稱,通常指定 做為 ref://mykeystoreref 中的參照。

        或者,您也可以使用直接名稱 (格式為 myKeystoreName) 或流程變數 (格式為 {ssl.keystore}) 來指定。
      2. 金鑰別名:這個屬性的值是 KeyStore。新的 KeyStore 必須建立具有相同別名的別名 名稱
      3. Trust Store:目前信任儲存庫的名稱 (如果有的話),通常是 是在 ref://mytruststoreref 中指定為參照。

        或者,您也可以使用直接名稱 (格式為 myTruststoreName) 或流程變數 (格式為 {ssl.truststorestore}) 來指定。
  4. 針對目標端點/目標伺服器,決定目標端點如何指定 KeyStore 和 TrustStore:
    1. 在 Edge 管理 UI 選單中,選取「API」
    2. 選取 API Proxy 名稱。
    3. 選取「開發」分頁標籤。
    4. 在「目標端點」下方,選取「預設」
    5. 在程式碼區域中,會出現 TargetEndpoint 定義。查看 <SSLInfo> 元素,查看 KeyStore/truststore 的定義方式。

      注意:如果目標端點使用目標伺服器,則 XML 的 目標端點的定義如下所示,其中 <LoadBalancer> 標記會指定 API 使用的目標伺服器 Proxy 上。
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <LoadBalancer>
            <Server name="target1" />
            <Server name="target2" />
          </LoadBalancer>
          <Path>/test</Path>
        </HTTPTargetConnection>
          …
      </TargetEndpoint>
      檢查目標伺服器定義中的 <SSLInfo> 元素,判斷如何判斷 KeyStore/truststore 已完成定義

更新 KeyStore 中的 TLS 憑證

當 KeyStore 中的憑證到期時,您無法將新的憑證上傳至 KeyStore。而是 請建立新的 KeyStore 並上傳憑證,然後更新虛擬主機或目標伺服器/目標 即可使用新的 KeyStore

一般而言,您可以在目前的憑證到期前建立新的 KeyStore,然後更新 讓虛擬主機或目標端點使用新的 KeyStore,以便持續 因憑證過期而中斷服務要求。確認新 KeyStore 運作正常後,您就可以刪除舊 KeyStore。

如要部署雲端 Edge:

  1. 按照「使用 Edge UI 建立 Keystore 和 Truststore」一文的指示,建立新的 Keystore,並上傳憑證和金鑰。

    在新 KeyStore 中,請務必使用與現有 KeyStore 相同的金鑰別名名稱。

  2. 針對由內送連線 (也就是 Edge 中的 API 要求) 使用的虛擬主機:
    1. 如果虛擬主機使用 KeyStore 的參照,請更新參照。
    2. 如果您的虛擬主機使用 KeyStore 的直接名稱,請與 Apigee Edge 支援團隊聯絡。
  3. 如果是傳出連線使用的目標端點/目標伺服器, 從 Apigee 到後端伺服器
    1. 如果目標端點/目標伺服器使用金鑰庫的參照,請更新參照。不需要重新部署 Proxy。
    2. 如果目標端點/目標伺服器使用流程變數,請更新流量變數。不需要重新部署 Proxy。
    3. 如果目標端點/目標伺服器使用 KeyStore 的直接名稱,請更新 目標端點/目標伺服器設定適用於參照舊 Pod 用來參照新的 KeyStore 和金鑰別名的 KeyStore 和金鑰別名。

      接著,您必須重新部署 Proxy。

  4. 確認新 KeyStore 運作正常後,請刪除舊的金鑰庫 含有過期憑證和金鑰的 KeyStore。

更新信任存放區中的 TLS 憑證

信任存放區中的憑證到期後,通常會建立新的信任存放區並上傳憑證。 然後更新虛擬主機或目標伺服器/目標端點,以使用新的信任存放區。

如果憑證是鏈結的一部分,您必須建立包含所有憑證的單一檔案,並將該檔案上傳至單一別名,或是為每個憑證使用不同的別名,將鏈結中的所有憑證分別上傳至信任存放區。

一般而言,您會在目前憑證到期前建立新的信任存放區,然後更新虛擬主機或目標端點,以便使用新的信任存放區,這樣您就能繼續處理要求,不會因憑證到期而中斷。隨後即可刪除舊的 信任商店,然後再確定新的信任存放區正常運作。

針對雲端式 Edge 部署:

  1. 建立新的信任存放區,並上傳憑證 使用 Edge UI 建立 KeyStore 和信任儲存庫

    將新憑證上傳至新的信任存放區時,別名名稱沒有任何影響。

  2. 針對由內送連線使用的虛擬主機 (也就是 Edge 中的 API 要求):
    1. 如果虛擬主機使用信任存放區的參照,請更新參照。
    2. 如果虛擬主機使用信任存放區的直接名稱,請與 Apigee Edge 支援團隊聯絡。
  3. 外連連線使用的目標端點/目標伺服器 (即從 Apigee 到後端伺服器):
    1. 如果目標端點/目標伺服器使用信任儲存庫的參照,請更新 參照。不需要重新部署 Proxy。
    2. 如果目標端點/目標伺服器使用流程變數,請更新流程變數。不需要重新部署 Proxy。
    3. 如果目標端點/目標伺服器使用信任存放區的直接名稱, 針對參照的所有 API Proxy,更新目標端點/目標伺服器設定 參照新的 KeyStore 和金鑰別名。

      接著,您必須重新部署 Proxy。

  4. 確認新的信任存放區運作正常後,請刪除含有過期憑證的舊信任存放區。