节点 HTTP/2 设置托管证书的正确位置

Node HTTP/2 the correct place to set managed certificate

我在 this example:

之后使用 http/2 创建了一个 NodeJS 应用程序

Note: this application uses self-signed certificate until now.

我们部署在GKE上,一直运行到现在。 下面是这个简单架构的样子:

现在,我们想开始使用真实的证书,不知道放在哪里合适。

我们应该把它放在 pod 中(覆盖自签名证书)吗?

我们是否应该在这个架构的顶部添加一个代理来放入证书?

客户端的 SSL 会话在 LB 级别终止,所使用的自签名证书仅用于加密 LB 与 Pods 之间的通信。因此,如果您希望客户端使用您的新有效证书,则它需要处于 LB 级别。

附带说明一下,让您的应用程序服务器通过 HTTP 与 LoadBalancer 通信可以提高性能。由于LB无论如何都充当反向代理。

你可以阅读 this article 关于 LoadBalancing 的文章,它是由 HAProxy

的作者写的

在 GKE 中,您可以使用 ingress object 将外部 HTTP(S) 流量路由到集群中的应用程序。有了这个,你有 3 个选择:

  • Google-管理证书
  • 与 GCP 共享的自我管理证书
  • 作为 Secret 资源的自我管理证书

检查 this guide 入口负载平衡