Skip to main content

添加域名变量以及部署组

· 4 min read
usual2970
programmer

我在平时的工作过程中要管理多个站点,这些站点基本都部署在各种 CDN 上,在国内,所有厂商的服务都不会自动给你的域名添加证书,这就需要我定期的去操作,非常麻烦的同时也容易忘掉,这就是我为什么要写 Certimate 的原因。

支持了我的常用场景后,我便将 Certimate 开源了,越来越多的用户开始反馈,他们也需要将证书部署到自己的主机上,最初的版本只支持一个证书部署到到一个主机上,这就和实际的用户需求有了冲突。

用户的实际需求是:

  • 1 个证书可以部署到多个主机上,如泛域名、或者负载均衡等场景。
  • 多个证书可以部署到 1 个主机上,如1 个主机上有多个服务的场景。

因此,Certimate 支持了域名变量和部署授权组的概念,以便满足用户的需求。

域名变量

域名变量是指和域名相关的变量,在申请证书成功后,部署时会将域名变量替换到部署命令中,从而实现多个证书部署到1个主机上的场景。

使用方法

  • 在添加/编辑域名页面中,点击高级设置,在变量输入框中输入变量,变量的格式为 key=val,如有多个变量用;号分隔。示例:
key1=val1;
key2=val2;

填写变量

  • 在部署授权中,证书的路径、以及命令中可以使用变量,使用方法为 ${key1},示例:

使用变量

部署授予权组

部署授权组是指将多个 SSH主机的授权合并到同一个组中,在填写域名信息时,可以选择某个授权组,在部署时就会将证书部署到该授权组中的所有主机上。

使用方法

  • 点击 部署授权组菜单,点击新增授权组,填写授权组名称,点击保存。
  • 在添加/编辑授权时,选择你之前添加的授权组。目前只支持 SSH 授权。 创建授权组
  • 在添加/编辑域名时,点击 高级设置选择你之前添加的授权组。

选择授权组

总结

以上便是 Certimate 的域名变量和部署授权组的功能,希望能帮助到更多的用户。

Why Certimate?

· 4 min read
usual2970
programmer

Certimate 开源后,我收到了很多用户的反馈。其中有一些诸如:为什么不用 Caddy呢?除了有 UI外它和 acme.sh有什么区别呢?这里写一篇文章来解释一下。

有这种疑问,我觉得主要是工作场景单一限制了想象力。理由如下:

  1. 服务或者网站只部署在主机上,没有考虑到还有部署到 CDN 和其它服务上的情况。
  2. 只考虑到自己的技术能力,没有考虑其它同事可能登录服务器都困难的情况。
  3. 更易用不是更好吗?

服务不只部署在主机上

在当前的前后端分离的技术背景下,同时为了节省服务器资源,前端服务或者网站可能会选择部署在 CDN、对象存储等服务上。后端API也可能会在前面接一个负载均衡服务。

虽然用过国外服务的用户都知道,国外的服务基本上都会自动给你的域名添加证书,但是国内的服务就是要手动添加证书的。

另外,在公司内部,工具选择上有的时候我们也身不由己,你真的觉得你一定会被允许使用 Caddy 吗?

这些场景下,Caddy、acme.sh 等工具就无法满足需求了。

考虑一下小白的感受

Caddy 配置好以后就可以自动获取证书了,这里不做讨论。

acme.sh 对于有一定技术能力的人来说还是能轻松上手的,但是对于登录服务器都困难的人来说,还是需要一定的时间去学习。这个时候有个易用的 UI就可以让技术能力没那么强的人也能轻松上手。 只需要根据 UI 提示填写信息,然后点击部署即可。

更易用不是更好吗?

即便你技术能力很强,让生活变得理简单不是更好吗?

如果你管理的站点有多个,你哼哧哼哧的一个个服务器的去登录,安装、配置 acme.sh,突然有一天又要下线某几个站点,你又要一个个去登录,卸载 acme.sh,是不是觉得很麻烦?

这时个如果有1 个可以统一调度的、易用的 UI 工具,是不是就可以让你更轻松的管理你的站点了?🐶

总结

综上所述,不同的场景可以选择不同的工具。

如果你只有一个服务/站点需要管理,且你的技术能力很强,那就用 Caddy、acme.sh 吧。如果你有多个服务/站点需要管理,甚至站点都不是部署在主机上,或者你就是想简单一点,Certimate 将是你更好的选择。