如果我需要為客戶提供自訂 SSL 證書,我仍然可以使用 Elastic beanstalk 嗎?

如果我需要為客戶提供自訂 SSL 證書,我仍然可以使用 Elastic beanstalk 嗎?

對於客戶可以使用自己的自訂網域的 SaaS 應用程序,我將使用 Lets 加密來產生客戶網域的憑證。

我目前正在使用彈性豆莖(它使用ELB)。

我可以繼續使用豆莖嗎?

鑑於彈性負載平衡器必須處理憑證驗證,而我的憑證將位於我的實例上,我想我必須以某種方式自行將流量路由到我的實例。

有什麼值得的解決方法嗎?

客戶 -> 執行 haproxy 的 ec2 實例 -> ELB -> Beanstalk

SSL 將在執行 haproxy 的 ec2 執行個體處終止。

答案1

您在這裡有幾個選擇:

  1. 按照您提到的路線,在 HAProxy 實例叢集處終止 SSL,然後再透過 ELB 將流量轉送到您的執行個體。
  2. 將您的 ELB 變成 TCP 轉發器,這使 ELB 成為啞資料包洗牌器。在這裡你失去了 ELB 的一些好處,但這會起作用。在這種情況下,您將在託管應用程式的執行個體上終止 SSL,因此在負載平衡配置中,您將需要所有執行個體上的憑證副本。協調起來可能相當棘手,但可行。
  3. (也是我的首選選項)使用 ALB。 ALB 支援多個 SSL 證書,並且當用戶端指示 SNI 標頭時,將自動選擇正確的證書。您將能夠將所需的憑證片段(金鑰、憑證、中介)上傳到 IAM 並在 ALB 中選擇它們,所有這些都透過 API 進行。

ALB 除了 SNI 之外還有許多其他優點。 它們支援 HTTP/2、到多個目標群組的基於路徑的路由(在某些情況下有用),而且據我所知,它們比經典的 ELB 便宜。

是的,Elastic Beanstalk 確實支援 ALB。不幸的是,您可以 a) 僅選擇在環境建立時使用它,b) 僅透過新 UI 執行此操作。我已經發布了一些抱怨關於 UI 和 EB 在過去幾週內真正開始使用它的情況。希望他們將來能解決這些問題。同時,您至少應該能夠儲存目前環境的配置,從已儲存的配置啟動新的配置(在建立之前更改負載平衡器類型),然後在啟動並運行後切換 CNAME。

另請注意:您的環境必須配置為使用 VPC 才能使用 ALB。

相關內容