acme.sh改用buypass申请SSL证书

发布于 2023-03-03  1.2k 次阅读


今天发现万事屋的SSL证书竟然过期了。上VPS看了看日志,自动续签证书时报错说由于没有路由,无法与Let's Encrypt的服务器连接。

错误信息原文长这样:Failed to connect to acme-v02.api.letsencrypt.org port 443: No route to host

在VPS上进行路由追踪,确实没法访问,追踪断在了IDC内网的中间某一跳。

这就不是很好解决了,先开个工单叫相关的网工修吧。

在修好之前,决定先换个CA申请证书。看了看acme.sh所支持的CA列表,打算暂时换成buypass。这家的证书有效期是180天,相对来说还是比较长的。

1.申请步骤

1.1.添加CAA记录

由于域名之前添加过CAA记录,这次换了个新的CA得再添加buypass的CAA记录,不然申请证书时会因为CAA禁止签发而失败。

acme.sh改用buypass申请SSL证书

1.2.切换默认CA

执行以下命令切换acme.sh默认使用的CA。

bash ~/.acme.sh/acme.sh --set-default-ca --server buypass

1.3.注册buypass

之前没用过这个CA,所以得拿邮箱注册一个账号。

bash ~/.acme.sh/bash acme.sh --register-account -m mail@example.com

1.4.申请SSL证书

接下来就可以申请证书了。使用-d选项加上域名参数,-w选项加上网站目录参数。

bash ~/.acme.sh/acme.sh --issue -d example.com -d www.example.com -w /home/wwwroot/www.example.com

不出意外的话,这样证书就申请完了。

由于申请SSL证书用的命令一样,所以就不需要改计划任务了。等路由问题解决之后再改回Let's Encrypt吧。

2.个人吐槽

最近一段时间万事屋的VPS老出网络问题,不知道有没有可能是机房网管换人了(笑)。

反正这个网站是我搭着玩的。只要能修好,断线一段时间也问题不大。