将 SSL 添加到服务 kubernetes 应用程序的域

Add SSL to a domain serving kubernetes app

我正在使用 kops 部署我的 kubernetes 集群。在我的集群中,我有一个简单的 Nginx 部署、一个服务和一个入口。它配置了路由 53(不使用外部 DNS,在路由 53 中手动创建 A 记录指向经典负载均衡器(由 kops 生成))。

我可以访问域 www.XXXX.com 以及它的子域,但是它没有 SSL 证书。

我知道我们可以在负载均衡器上应用 SSL。所以,进入 ACM,创建了一个证书,当我尝试应用它时,我看到 80 和 443 正在处理 TCP 流量,这就是为什么我不能添加这两个端口来为 HTTP 和 HTTPS 提供证书(如图所示)

如果我删除两个 TCP 侦听器并添加 HTTP 和 HTTPS 侦听器,我可以,但我的应用程序无法在域上访问。

如何在此负载均衡器上配置 ACM。这甚至是为部署在 Kubernetes 上的应用程序添加 https 的正确方法吗?

我知道 https://kubernetes.github.io/ingress-nginx/user-guide/tls/,但如果有办法使用上述方法来做到这一点,我会更喜欢。


更新 1:

当我描述我的 nginx pod 时,我看到端口如下:

Ports:         80/TCP, 443/TCP

不应该是

Ports:         80/HTTP, 443/HTTPS

?

原来我错误地部署了入口控制器。

文档清楚地说明了在文件中下载和更新值在应用之前我错过了更新部分。

您必须更新 CIDR proxy-real-ip-cidrservice.beta.kubernetes.io/aws-load-balancer-ssl-cert

字面意思就是你需要的一切。

确保在应用此 YAML 文件之前创建证书。

并在创建证书时添加

DOMAIN.com
*.DOMAIN.com

两者都使它起作用。