有没有 acme.sh 的替代品?

bigbugbag · 2024-9-3 12:14:28 · 196 次点击
我寻找替代品的原因如下:

1. acme.sh 的 docker hook 无法向多个 container 部署证书。
2. 开发者维护的积极性看起来比较低了,已经堆积了很多个 issue 与 PR 。

希望替代品具有以下功能:

1. 像 acme.sh 一样,可以运行在 Docker 中,体积与占用要低,申请证书后可以自动续签与部署。
2. 可以向多个 docker contaier 部署证书。
3. 社区最好还很活跃。

如果没有替代品的话,我只能用挂载证书的方式来解决这个问题了。
举报· 196 次点击
登录 注册 站外分享
21 条回复  
EvineDeng 小成 2024-9-3 12:19:23
https://github.com/go-acme/lego
zx9481 小成 2024-9-3 12:21:21
https://httpsok.com/?p=4fEj
zhaidoudou123 小成 2024-9-3 13:18:07
😂我就是在每个 docker 弄个挂载目录到宿主机上来更新证书的,原来还可以有别的方法
yy306525121 小成 2024-9-3 13:48:33
CERTBOT 好像可以, 了解过但是没用过, 自己研究一下
yikyo 小成 2024-9-3 14:08:08
不需要跨服务的话,可以使用 traefik ,自动申请证书,反向代理各个服务。定义 label 就可以使用。

我是从 traefik 回到 acme.sh ,泛域名证书,需要跨主机使用,所以用 acme.sh ,输出到特定目录,再共享给其他主机使用。
yinmin 小成 2024-9-3 15:01:32

有没有 acme.sh 的替代品?

你是在 docker 里运行 acme.sh 的吧。我的操作方式是 volume 挂接的方式,将证书目录同时挂接到 acme.sh 容器和证书使用容器。在宿主机的 crontab 里写一个定时任务运行 acme_update.sh 。

acme_update.sh 的流程是:
(1) docker 运行 acme 更新证书,如果证书被更新会在 pending 目录里 touch 一个.sh 空文件做标记
(2) 宿主机检查 pending 目录是是否存在.sh 文件,如果有的话,运行在 prog 目录下的同名文件
(3) 删除 pending 目录下的.sh 文件

通过第二步,在证书更新后能 restart 对应容器或者让容器 reload 配置。因为是检查 pending 目录的文件,但是运行 prog 目录下的同名文件,prog 目录没有挂接到容器里,所以比较安全。

然后在宿主机上写一个 alias ,类似如下:
alias acme.sh="docker run --rm -v /docker/acme/pending:/acme/pending -v /docker/acme/acme.sh:/acme.sh -v /var/cert:/var/cert neilpang/acme.sh"
(文件认证模式需要加上 web 目录的 volume ,dns 认证第一次需要加上环境变量,之后可以删除掉)

将来使用的时候,就是直接 acme.sh 操作,使用也很方便。acme_update.sh 可以让 gpt/claude 写一下。
Latin 小成 2024-9-3 15:04:30

有没有 acme.sh 的替代品?

https://github.com/usual2970/certimate
EvilYZ 小成 2024-9-3 15:47:54

有没有 acme.sh 的替代品?

直接 Traefik ,https://doc.traefik.io/traefik/https/acme/
lesterholy 小成 2024-9-3 16:11:53

有没有 acme.sh 的替代品?

所以你是需要个证书的分发程序?我是签好证书之后,传到七牛上,谁用谁自己去下,最后 nginx -s reload 不过我弄的泛域名证书
123下一页
返回顶部