zoukankan      html  css  js  c++  java
  • Let's Encrypt Free SSL – winacme

    前言

    之前有介绍过用 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. 

    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 则没有限制哦).

  • 相关阅读:
    TFS2017持续发布中调用PowerShell启停远程应用程序
    基于BUI开发Asp.net MVC项目
    WebAPI应用问题整理
    C#多线程顺序依赖执行控制
    TFS下载文件已损坏问题
    Asp.net core中使用Session
    为什么使用.Net Core, Asp.net Core以及部署到云端
    基于微软开发平台构建和使用私有NuGet托管库
    TFS2017代码搜索功能
    [转】[tip] localhost vs. (local) in SQL Server connection strings
  • 原文地址:https://www.cnblogs.com/keatkeat/p/15794984.html
Copyright © 2011-2022 走看看