【问题标题】:What is the recommended way to update SSL certs in a Nginx cluster behind HAProxy?在 HAProxy 后面的 Nginx 集群中更新 SSL 证书的推荐方法是什么?
【发布时间】:2017-12-30 15:00:54
【问题描述】:

所以我想要这个:

       /  Nginx1 (SSL)
HAProxy-- Nginx2 (SSL)
       \  Nginx3 (SSL)

但我有问题:

  1. 如何更新所有节点上的 Letsencrypt 证书?
  2. 如果我不能用certbot(+一些配置)做到这一点 - 你怎么做?也许是一些分布式 k/v 存储?

【问题讨论】:

  • 每个 Nginx 实例是使用相同的证书还是唯一的(不同的私钥、不同的 SAN 等)?如果由于 HAProxy 无法进行 TLS 续订,则可以考虑使用 DNS 验证进行续订。使用脱水的 ACME 客户端查看this answer
  • 目前所有节点都应该拥有完全相同的证书
  • 如果 HAProxy 正在代理/负载平衡 Nginx 机器,并且它们不会直接从外部连接,您可以在 HAProxy 机器上托管 Lets Encrypt 证书,并使用自签名后端机器的证书。或者,如果您希望他们都使用 Lets Encrypt 证书,您可以使用一个盒子——如果是前端,很可能是 HAProxy——进行证书更新。然后,您将有一个脚本或 cron 作业将证书和密钥复制到所有其他框(scp、rsync over ssh 等)

标签: ssl nginx lets-encrypt


【解决方案1】:

最好的办法是在 Nginx 节点上使用仅 HTTP 服务(不是 HTTPS)并在 balancer 上配置 SSL。

选项:

  1. Traefik。可以配置为自动更新 LetsEncrypt 证书。
  2. 法比奥。也可以配置为使用 SSL 证书。 (我使用 Hashicorp Vault 来存储它们)。需要自己配置更新。

这 2 个与 Consul 等服务发现工具完美集成。

【讨论】:

    猜你喜欢
    • 2019-01-15
    • 1970-01-01
    • 2018-08-18
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多