将 LetsEncrypt 证书从一台机器移动到另一台机器

将 LetsEncrypt 证书从一台机器移动到另一台机器

我已经将 LetsEncrypt 证书用于我的个人网络服务器一段时间了,更新了几次,它运行良好。现在我要迁移到一台新机器(使用略有不同的 unix 版本)。

如何将我的证书转移到新机器,以及如何让 LetsEncrypt 客户端在新机器上工作?

傻傻的我以为这只是传输/etc/letsencrypt目录这么简单,但看来我错了。

执行此操作后,运行letsencrypt-renewer会引发一个非常奇怪的异常,最终导致

TypeError: initializer for ctype 'char *' must be a str or list or tuple, not unicode

OpenSSL/crypto.py

下面/etc/letsencrypt/accounts/是名称类似于哈希的目录,其下有一个 meta.json 文件,其中包含内部的我用来创建证书的机器的名称。

运行letsencrypt certonly让我有机会选择一个帐户(!),我可以从中进行选择老的机器的内部名称和新的机器内部名称。

选择其中任意一个并提交我的域名,都会产生相同的错误(已编辑......匿名)

IMPORTANT NOTES:
 - The following errors were reported by the server:

Domain: <mydomain>
Type:   urn:acme:error:unauthorized
Detail: Incorrect validation certificate for TLS-SNI-01 challenge.
Requested <hexadeciman29positions>.<morehexadecimal>
<hexadecimal>.acme.invalid from <myip>:443. Received certificate
containing '<mydomain>'

所以……我猜我忽略了一些关键文件。或者还有其他我不明白的东西。

有谁知道如何做到这一点?

答案1

所以这有点晚了,可能与 OP 不再相关,但对于遇到同样问题的任何人来说,以下方法对我有用:

letsencrypt --renew-with-new-domains

我遇到了同样的问题,想要将证书从一台服务器转移到另一台服务器(并使用不同的 Linux 发行版)。我只是rsync/etc/letsencrypt/目录转移到新服务器,运行上述命令,然后按照对话框进行操作。

相关内容