在使用 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