将 Linode VPS 上的操作系统从 CentOS 7 改成了 openSUSE Leap 15(详情以后再说)。其中一项迁移任务就是把 Let’s Encrypt 证书迁移到新系统。只要搞清楚了文件位置和需要使用的指令,迁移 Let’s Encrypt 证书其实是一件很容易的事情。这里记录一下步骤和 Linux 命令。
总的来说,主要包括以下几步,
- 先更新一下证书:
certbot renew
。 - 使用
certbot certificates
查看旧服务器上现有的证书、文件目录以及软链接。下面是一个例子,注意看后面的数字,如cert24.pem
。对同一个域名的四个文件来说数字都是一样的,代表着已经是续到第 24 个了。# ls -1 /etc/letsencrypt/live/cnzhx.net/ lrwxrwxrwx 1 root root 34 Apr 19 22:07 cert.pem -> ../../archive/cnzhx.net/cert24.pem lrwxrwxrwx 1 root root 35 Apr 19 22:07 chain.pem -> ../../archive/cnzhx.net/chain24.pem lrwxrwxrwx 1 root root 39 Apr 19 22:07 fullchain.pem -> ../../archive/cnzhx.net/fullchain24.pem lrwxrwxrwx 1 root root 37 Apr 19 22:07 privkey.pem -> ../../archive/cnzhx.net/privkey24.pem
- 将旧服务器上的 letsencrypt 文件夹打包转移到新服务器的适当位置。好在 CentOS 7 和 openSUSE Leap 15 都是将他们放在了
/etc/letsencrypt
目录中。# tar -chvzf /srv/www/letsencrypt.tar.gz /etc/letsencrypt
- 将压缩包转移到新服务器,
# scp letsencrypt.tar.gz root@linode-new:/
- (以下在新服务器中操作)登录新服务器并解压到指定位置,
# cd / # tar -xvf /srv/www/letsencrypt.tar.gz
- 重建软链接,
# cd /etc/letsencrypt cd live/cnzhx.net # for i in cert chain fullchain privkey ; do rm ${i}.pem ln -s ../../archive/cnzhx.net/${i}24.pem ${i}.pem done
最后一切就绪了,比如域名解析到当前服务器了,服务器已经可以正常访问了,等等,就可以测试一下如果要续新的证书有没有问题,certbot renew --dry-run
。--dry-run
选项表示只运行但是结果不保存。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/move-lets-encrypt-certs-to-new-system/>。转载请保留此信息及相应链接。
引用通告: 升级 openSUSE Leap 15.2 到 Leap 15.3 | 水景一页
引用通告: 在 Linode VPS 上将服务器系统由 CentOS 7 改为 openSUSE Leap 15 | 水景一页