我正在構建一個需要 PKI MTLS X509Certificate 身份驗證的服務。因此,我有一個 AWS ACM 私有 CA,它頒發私有客戶端證書以識別客戶端,并定期 ACM 頒發證書來識別服務器。
對于 MTLS 身份驗證,我使用 Spring 安全性 (Java),它需要一個包含私有根 CA 證書的信任庫來驗證客戶端,以及一個 PKCS#12 密鑰庫來強制執行 SSL(供客戶端驗證服務器)。
當我使用 SSL 在本地運行它時,一切正常。在我在應用程式中啟用 SSL 之前,集群中的一切都運行良好。但是,當我將 MTLS 邏輯添加到應用程式時,與集群中的應用程式通信時連接會掛起。
我猜我需要為集群中的服務/入口配置 https,但我發現的所有內容都指定了要使用的證書的 arn,而我已經將它安裝在應用程式中。我要做的就是允許 https 流量通過負載均衡器進入我的應用程式,并讓應用程式處理 SSL 內容。
或者,如果可以在沒有 SSL 證書的情況下在 Spring 安全性中配置 X509Certificate 身份驗證,以供客戶端驗證服務器。在這種情況下,SSL 證書將僅在生產中使用,而不是在本地使用。
這可能嗎?每種方法的優缺點是什么?
uj5u.com熱心網友回復:
所以最后我最終使用了帶有 ssl-passthrough 的 nginx 入口控制器。但是,EKS Fargate pod 不支持 nginx 入口控制器,因此我不得不創建一個新的托管集群。從技術上講,我本可以同時使用托管節點和 Fargate 節點的混合集群,但我覺得 Fargate 讓我非常頭疼,當我進行一些計算時,我發現 Fargate 在我們的案例中可能成本更高。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/494056.html
標籤:ssl Kubernetes 弹簧安全 亚马逊-eks mtls
