使用重定向进行 LetsEncrypt/Certbot 域验证

使用重定向进行 LetsEncrypt/Certbot 域验证

在使用 certbot 创建/验证证书期间,是否可以将 abc.com 301 重定向到不同的域 xyz.com,并通过 xyz 域完成域验证?
这个问题是在letsencrypt 论坛已经,答案是肯定的:

这是可能的——而且这是集中式系统的好解决方案

就我而言,域名位于不同的服务器拥有不同的 IP!
我真的不明白这应该如何工作。阅读letsencrypt 手册它说:

Let's Encrypt 向您的 ACME 客户端提供一个令牌,然后您的 ACME 客户端将文件放在您的 Web 服务器上,网址为 http://<YOUR_DOMAIN>/.well-known/acme-challenge/。

因此,abc.com 上的 acme 客户端将令牌放入 abc.com/.well-known/... 然后检查 letsencypt 机器人被重定向到 xyz.com。但 xyz.com 上的 acme 客户端不知道此过程,无法将正确的令牌放入 xyz.com/.well-known/...

这种情况可能吗?如果可能,请告诉我如何实现。如果不可能,重定向功能到底如何使用?

答案1

(这可能应该是一条评论,但对于小盒子来说它有点长)。

我不知道这是否可行。如果今天可行但没有记录,那么明天可能就不可能了。恕我直言,如果这可行,那么这可能是一个缺陷。

当我以前必须解决跨集群使用 certbot 进行配置的问题时,我选择了一条不同的路径。

由于您需要指定一个特定的节点来运行初始配置和刷新(除非您碰巧有某个集群 cron),我选择在其他节点上的指定机器上代理该位置。

另一个复杂之处在于,我正在从这个主节点复制配置。我使用的是 nginx,但该方法可以应用于 Apache httpd 和其他 Web 服务器。

我在 /etc/nginx/snippets 中有两个文件,描述了如何处理 /.well-known/。一个是代理配置,一个是源配置。这些配置已复制到所有节点。/etc/nginx/snippets/certbot.conf 中还有一个符号链接,此链接指向一个文件外部复制树。该文件也是一个指向两个初始文件之一的符号链接。在主节点上,它指向原始服务器,在其他地方指向代理定义。

在我的 /etc/nginx/sites-enabled/*.conf 文件中,我仅包含了 /etc/nginx/snippets/certbot.conf

相关内容