Let's Encrypt Free SSL – win-acme

前言

之前有介绍过用 Certify The Web 来做 Let's Encrypt SSL, 但是最近常看到它的 License 提示, 有种随时随地要收费的感觉

于是找了一个替代品 win-acme. 这篇就来聊聊它.

 

Why win-acme

Certify The Web 是一款 UI 工具, win-acme 则是 command tools 没有了 UI.

再众多替代品中, 选中 win-acme 是因为它 github star 比较多

github star

 

Let's Encrypt Rate Limit & Staging Mode

在做测试时要用 staging 不然会遇到 rate limit 问题.

参考: Rate Limits

win-acme 开启 staging mode

通过 cmd 方式打开 folder 然后运行 wacs.exe 加 paramater 就可以了. 最好是 run as administrator.

win-acme 开启 force mode, 因为在 valid DNS TXT 时会有 cache, 如果你想测试 DNS TXT 的话, --force 可以 clear cache.

wacs.exe --force --test --verbose

 

Installation

官网文档

到官网下载软件

它是 zip file, unzip 之后双击运行 wacs.exe. (要 run as admin 哦, 不然有些功能用不到)

 

Normal SSL

有几个选项

如果只做一个普通网站 SSL (not wildcard) 的话, 使用第一个 N 就可以了. 全部走 default 路线.

它会从 IIS 里选出网站, 然后自动 binding.

 

做完之后会发现, Manage renewals 变成了 (1 total), 表示有一个 SSL 了,

 

Wildcard SSL

Manual DNS

Wildcard SSL 就是那种 *.jbreviews.com.my 可以用于所以 sub domain 的 certificate.

它和普通申请过程的区别是它无法用 http-01 的方式去做 validation, 只能通过 dns-01.

所以我上一篇才会去弄 Azure DNS, 因为它需要 API 访问.这样才能完全自动化 renew. 

but, 我们先来一个 manual update DNS TXT record 申请一次, 下一个 part 才搞 DNS API.

一开始选 M, 不用 default, 自己控制

继续选 2 manual input, 还是自己控制

输入 sub domain 和 main domain 一起, 这样 certificate 就通用了 (注: Certity The Web wildcard 申请的流程也是一样的哦)

为 certificate 取个 friendly name, 放空便是默认 [Manual] *.jbreviews.com.my

选中 validation 方式, http-01 都是不可选的, wildcard 只能用 dns-01 做验证.

我们这次选 manual, 之所以没有看到 Azure DNS 是因为它是一个 plugin 需要另外安装. 下一 part 才讲.

接下来就跟着默认选就可以了

选项 4 选

到这里就会拿到 TXT validation value 了.

DNS set TXT record

有时候会翻车

我也不清楚原因, 之前用 Certify The Web 做 wildcard 也有翻车经验. 有时要验证好几次才能成功. 反正就 abort + retry 几次就可以了.

这个 DNS lookup tool 可以检查是否成功读取到 TXT

测试版到这里就算完成了啦, 不需要在安装下去了, production 版本它会帮你 binding 好, MMC Machine Store 里就可以看到 certificate 了.

 

Azure DNS

参考: Create the record in Azure DNS

为了让 wildcard 可以 auto renew, 需要 DNS 运行 API 操作, 普通 hosting company 通常是没有提供的, 所以这里用 Azure 来做 DNS.

github下载

 它也是一个 zip file, unzip win-acme 的 folder 里.

运行 wacs.exe, 会发现多了一个 Azure DNS 选项.

如何 create Azure DNS 看这篇, 如何授权看这篇.

下面是需要的 configuration.

对应的资料在 Azure 的这里

和这里

 

接着顺着下去.

也是可能会翻车, 但让它自己 retry 就可以了. 耐心等 2-3 次.

Secret 会保存在 vault 里, 可以在 options 里面找到.

 

Schedule Renew

它默认就已经 create 好 schedule 了. 我估计是需要打开着 它才会执行啦. 

Manage renewals 和 More options 可以查看细节. 

我的都还没有过期, 不好做测试, 但相信是很智能的啦, 到这里就算功能齐全了. 即使 Certify The Web 收费也不怕了 (它不收费最多也只能 auto renew 10 个 certificate, win-acme 则没有限制哦).

 

Cancel Renewal

如果 Domain 已经废弃了,那也要 cancel 掉 renewal,不然会报错

首先,选择 Manage renewals

 选择要 cancel 的 domain 编号

 

选择 cancel

确认 y 就可以了。

 

posted @ 2022-01-12 19:35  兴杰  阅读(942)  评论(0编辑  收藏  举报