跨服务器的多个 HaProxy 实例上的 LetsEncrypt
LetsEncrypt on multiple HaProxy instances across servers
查看此处的说明:https://certbot.eff.org/lets-encrypt/ubuntubionic-haproxy
我的情况是我有 2 个 HaProxy 实例,每个实例都在不同机器上的 docker 容器中。域名是一样的。这样做是为了冗余目的。
谷歌搜索“多个 letsencrypt”或“多个 certbot”只会找到同时为多个域创建证书的解决方案。
这对子域很有用,但它没有解释如果我有超过 1 个服务器时我应该做什么 运行 haproxy。
运行 certbot 仅在一台服务器上,然后将文件复制过来?如果是这样,如何更新证书?它不能再自动化了吗?
此外,由于 URL,某些子域将转到一个或另一个服务器。但两者都必须能够提供所有网址。
或者这种情况是否需要完全不同的方法?我应该使用手动模式,生成证书,然后手动更新它们吗?
感谢您的帮助。
最终找到了解决方案:您可以使用自定义端口启动 certbot,--http-01-port
您可以在此处阅读:https://eff-certbot.readthedocs.io/en/stable/using.html.
如果您所有的 haproxy 都检测到传入的挑战 URL“/.well-known/acme-challenge”,您可以让它们重定向到那个 host/port 组合。所以所有的挑战最终都会出现在 certbot 上。
然后想办法移动证书。
我建议您使用 getssl,这是一个“简单的”Bash 脚本,注意:
- 将挑战文件部署到所有需要的节点,部署到正确的位置,甚至重新加载远程节点网络服务器
- deploy/copy生成的SSL证书文件也发送到远程节点
它可以使用SSH、SFTP 或FTPS 来传输文件。然后,您可以添加一个 cron 作业来每天执行 getssl,它将更新证书并在完成后分发它(配置允许您告诉何时更新证书)。
查看此处的说明:https://certbot.eff.org/lets-encrypt/ubuntubionic-haproxy
我的情况是我有 2 个 HaProxy 实例,每个实例都在不同机器上的 docker 容器中。域名是一样的。这样做是为了冗余目的。
谷歌搜索“多个 letsencrypt”或“多个 certbot”只会找到同时为多个域创建证书的解决方案。
这对子域很有用,但它没有解释如果我有超过 1 个服务器时我应该做什么 运行 haproxy。
运行 certbot 仅在一台服务器上,然后将文件复制过来?如果是这样,如何更新证书?它不能再自动化了吗?
此外,由于 URL,某些子域将转到一个或另一个服务器。但两者都必须能够提供所有网址。
或者这种情况是否需要完全不同的方法?我应该使用手动模式,生成证书,然后手动更新它们吗?
感谢您的帮助。
最终找到了解决方案:您可以使用自定义端口启动 certbot,--http-01-port
您可以在此处阅读:https://eff-certbot.readthedocs.io/en/stable/using.html.
如果您所有的 haproxy 都检测到传入的挑战 URL“/.well-known/acme-challenge”,您可以让它们重定向到那个 host/port 组合。所以所有的挑战最终都会出现在 certbot 上。
然后想办法移动证书。
我建议您使用 getssl,这是一个“简单的”Bash 脚本,注意:
- 将挑战文件部署到所有需要的节点,部署到正确的位置,甚至重新加载远程节点网络服务器
- deploy/copy生成的SSL证书文件也发送到远程节点
它可以使用SSH、SFTP 或FTPS 来传输文件。然后,您可以添加一个 cron 作业来每天执行 getssl,它将更新证书并在完成后分发它(配置允许您告诉何时更新证书)。