【问题标题】:LetsEncrypt on multiple HaProxy instances across serversLetsEncrypt 跨服务器的多个 HaProxy 实例
【发布时间】:2021-12-10 11:33:24
【问题描述】:

查看这里的说明:https://certbot.eff.org/lets-encrypt/ubuntubionic-haproxy

我的情况是,我有 2 个 HaProxy 实例,每个实例都在一个 docker 容器中,位于不同的机器上。域名是一样的。这样做是出于冗余目的。

谷歌搜索“multipleletsencrypt”或“multiple certbot”只会导致同时为多个域创建证书的解决方案。

这对子域有好处,但它不能解释如果我有超过 1 台服务器运行 haproxy,我应该做什么。

仅在 1 台服务器上运行 certbot,然后将文件复制过来?如果是这样,如何更新证书?不能再自动化了吗?

此外,由于 url,某些子域将转到一台服务器或另一台服务器。但两者都必须能够提供所有网址。

或者这种情况是否需要完全不同的方法?我应该使用手动模式,生成证书,然后手动更新它们吗?

感谢您的帮助。

【问题讨论】:

  • 你有什么方法可以实现吗?
  • @ZedTuX 是的,我添加了答案

标签: haproxy lets-encrypt certbot


【解决方案1】:

最终找到了解决方案:您可以使用自定义端口--http-01-port 启动 certbot,您可以在此处阅读:https://eff-certbot.readthedocs.io/en/stable/using.html

如果您的所有 haproxys 都检测到传入的挑战 URL“/.well-known/acme-challenge”,您可以让它们重定向到该主机/端口组合。所以所有的挑战最终都在 certbot 上。

然后想办法移动证书。

【讨论】:

    【解决方案2】:

    我建议您使用getssl,这是一个“简单”的 Bash 脚本,需要注意:

    • 将挑战文件部署到所有需要的节点,部署到正确的位置,甚至重新加载远程节点 Web 服务器
    • 也将生成的 SSL 证书文件部署/复制到远程节点

    它可以使用 SSH、SFTP 或 FTPS 传输文件。然后您可以添加一个 cron 作业来每天执行 getssl,它会更新证书并在完成后分发它(配置允许您告诉何时更新证书)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      相关资源
      最近更新 更多