Certificate Manager 採用彈性的對應機制,可讓您精細控制可指派的憑證,以及如何為環境中的每個網域名稱提供憑證。
下圖顯示 Certificate Manager 元件與負載平衡器轉送規則中指定的典型目標 Proxy 之間的關係:
如要進一步瞭解 Certificate Manager 的元件,請參閱「核心元件」。
憑證選取邏輯
負載平衡器的憑證選取方式大致如下:
用戶端會啟動握手,這是對負載平衡器後方服務的連線要求。
在握手期間,用戶端會向負載平衡器提供用戶端用於完成握手的加密演算法清單,以及嘗試存取的主機名稱 (選用)。這個主機名稱也稱為伺服器名稱指示 (SNI)。
收到要求後,負載平衡器會選取憑證來完成安全握手程序。
主機名稱完全相符:如果用戶端提供的主機名稱與已佈建憑證對應表中的主機名稱項目完全相符,負載平衡器就會選取相應的憑證。
萬用字元主機名稱比對:如果用戶端的主機名稱與已佈建憑證對應檔中的任何主機名稱項目不相符,但與憑證對應項目中的萬用字元主機名稱相符,負載平衡器會選取相應的憑證。
舉例來說,萬用字元項目如果設為
*.myorg.example.com
,就會涵蓋myorg.example.com
網域中的第一層子網域。萬用字元項目不涵蓋較深層的子網域,例如sub.subdomain.myorg.example.com
。主機名稱不相符 (不論是否有萬用字元):如果用戶端的主機名稱與已佈建憑證對應表中的任何主機名稱項目不相符,負載平衡器會選取主要憑證對應項目。
握手失敗:如果用戶端未提供主機名稱,且未設定主要憑證對應項目,握手程序就會失敗。
憑證優先順序
選取憑證時,負載平衡器會根據下列因素決定優先順序:
- 憑證類型。如果用戶端支援 ECDSA 憑證,負載平衡器會將其優先於 RSA 憑證。如果用戶端不支援 ECDSA 憑證,負載平衡器會改為提供 RSA 憑證。
- 證書大小。由於較小的憑證所需頻寬較少,負載平衡器會優先處理較小的憑證,而非較大的憑證。
萬用字元網域名稱
萬用字元網域名稱適用下列規則:
- 只有具備 DNS 授權的 Google 代管憑證,以及具備 CA 服務的 Google 代管憑證,才支援萬用字元網域名稱。具備負載平衡器授權的 Google 代管憑證不支援萬用字元網域名稱。
- 如果在項目中同時定義了萬用字元和完全比對,則優先使用完全比對。舉例來說,如果您為
www.myorg.example.com
和*.myorg.example.com
設定憑證對應項目,針對www.myorg.example.com
的連線要求一律會選取www.myorg.example.com
的項目,即使*.myorg.example.com
也有項目也一樣。 - 萬用字元網域名稱只會比對第一層子網域。舉例來說,
host1.myorg.example.com
的連線要求會選取*.myorg.example.com
的憑證對應項目,但不會選取host1.hosts.myorg.example.com
的項目。
憑證續約
Google 代管的憑證會自動更新。您必須手動續購自行管理的憑證。如有需要,您可以在憑證到期前,為憑證設定 Cloud Logging 快訊。詳情請參閱「設定記錄快訊」。