用于多服务器配置的 Certbot

用于多服务器配置的 Certbot

有没有一种方法可以使用 certbot 和 LetsEncrypt 证书进行多服务器设置,而无需手动将证书从一个节点复制到另一个节点?

我的域名example.com在美洲解析为 192.0.2.1,在亚洲解析为 192.0.2.2。

我从美国服务器运行 certbot,它成功生成了证书。我无法从亚洲服务器运行相同的命令,因为 certbot 只能将域解析为 192.0.2.1。

因此,为了安装亚洲服务器的证书,我必须将其从 192.0.2.1 复制到 192.0.2.2。

是的,复制过程可以编写脚本,尽管这对我来说似乎不是一个好主意。还有其他办法吗?

答案1

最后我使用了解决方案此处描述

简而言之:

  1. 使用单节点进行证书生成
  2. 使用 nginx 代理将 /.well-known/ 从所有前端转发到步骤 1 中的节点
  3. 将脚本证书复制到所有前端服务器

答案2

问题是您无法知道验证将从哪里运行。

您有两个通用解决方案:

  1. 在服务器之间复制证书+密钥。
  2. 暂时将您的域解析到一个位置,在那里颁发证书,然后将其解析到另一个位置并在那里颁发证书,最后翻转回水平分割。当您还想续订证书时,您必须重复此操作。

解决方案 2 是比复制证书+密钥更糟糕的做法。

考虑一下在 LetsEncrypt 之前您会如何解决这个问题:

  • 在某处(管理工作站或服务器)生成密钥和 CSR
  • 向 CA 提交 CSR
  • 从 CA 获取证书
  • 将密钥和证书推送到两台服务器。

从这个角度来看,将密钥/证书从一台服务器推送到另一台服务器并不是那么糟糕。

之前也介绍过这一点: https://community.letsencrypt.org/t/will-lets-encrypt-work-for-me-multiple-servers-serving-one-domain/6830/7

相关内容