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 就可以了。
Let's Encrypt Free SSL – win-acme的更多相关文章
- windows server使用 LetsEncrypt-Win-Simple来安装和使用用Let's Encrypt免费SSL证书
一.网站部署 LetsEncrypt-Win-Simple可以自动发现已经部署的网站供我们选择要生成证书的网站,而且还需要进行验证.所以在生成证书之前,确保网站已经部署好并可以正常访问. 二.生成证书 ...
- Let's Encrypt 免费SSL证书
Let's Encrypt免费又好用的证书,废话不多说. 假设我的域名为:163.org 1.克隆代码 git clone https://github.com/letsencrypt/le ...
- 【http转https】其之二:申请Let's Encrypt颁发SSL证书
文:铁乐猫 2017年1月12日 申请Let's Encrypt颁发SSL证书 由 ISRG(Internet Security Research Group,互联网安全研究小组)提供服务, ISRG ...
- LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...
- 全民https时代,Let's Encrypt免费SSL证书的申请及使用(Tomcat版)
近几年,在浏览器厂商的强力推动下,HTTPS的使用率大增.据统计,Firefox加载的网页中启用HTTPS的占比为67%,谷歌搜索结果中HTTPS站点占比已达50%,HTTPS网站已获得浏览器和搜索引 ...
- LNMP V1.4一键快速部署Let's Encrypt免费SSL证书
老左年前在"军哥LNMP V1.4测试版一键脚本安装以及功能上的升级体验"已经简单的体验到目前还没有正式版本的V1.4版本,理论上会在今年儿童节正式上线.从体验和实际的版本变动文档 ...
- oneinstack如何安装ssl证书和配置Let's Encrypt免费SSL证书教程汇总(转)
OneinStack包含以下组合:lnmp(Linux + Nginx+ MySQL+ PHP) LNMP安装SSL安全证书 部署HTTPS:https://www.gworg.com/ssl/309 ...
- ubuntu 下获取Let's Encrypt免费ssl证书
# ubuntu 下获取Let's Encrypt免费ssl证书 # 一.安装Nginx https://www.cnblogs.com/watermeloncode/p/15476317.html ...
- 使用acme.sh从Let's Encrypt申请SSL证书
Let's Encrypt 简介 Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为 ...
- Apache环境服务器配置Let's Encrypt免费SSL证书及自动续期方法
如今越来越多的网站开始使用SSL证书,实现HTTPS网址形式,如果我们是英文网站更需要用到这样格式的HTTPS网址,因为根据谷歌搜索结果提示到如果用到SSL证书的在同等条件下排名结果是有靠前可能的.我 ...
随机推荐
- 操作系统|C语言模拟实现首次适应和最佳适应两种内存分配算法以及内存回收
两种算法 首次适应 首次适应算法从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间.为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到 ...
- 数据仓库建模工具之一——Hive学习第三天
1.Hive的基本操作 1.1 Hive库操作 1.1.1 创建数据库 1)创建一个数据库,数据库在HDFS上的默认存储路径是/hive/warehouse/*.db. create database ...
- [MRCTF2020]Ezpop(反序列化)
打开题目即可得源码 Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ct ...
- vue小知识~ref和$refs
$refs表示的是获取被ref标识的标签的DM实例. 用法简单: 标签上: <div ref='refName'></div> 获取: this.$refs.refName 就 ...
- c++17
std::variant<std::string,int,float>://作为联合体 using va = std::variant<std::string, int, float ...
- 关于异步编程中的bind(this)
异步编程中的.bind(this)方法解决了异步执行后this指针指向全局函数的问题,主要可以通过以下两个场景加以说明:(本文所用例子基于React场景:为简便起见,仅在第一个例子中展示完整HTML代 ...
- python学习总结(重要!!!)
前取,后不取 index从0开始 list = [1,2,3,4,5,6,7,8,9]print(list[3:7]) #输出:[4, 5, 6, 7]print(list[3:-2]) ...
- 【Android】看安卓代码的一点笔记
最近项目需要把安卓项目拉下来看了 简单来说的话,网页是HTML + CSS + JS 组成的,运行环境是浏览器上面 安卓APP应用是 Java + XML 组成的,运行环境是这个安卓系统中 构成结构 ...
- 分布式深度学习计算框架依赖环境——NCCL的安装
分布式深度学习计算框架(MindSpore, PyTorch)依赖环境--NCCL, NCCL提供多显卡之间直接进行数据交互的功能(可以跨主机进行). 注意: 本文环境为 Ubuntu18.04 以 ...
- 【转载】 关于Numpy数据类型对象(dtype)使用详解
原文地址: https://www.cnblogs.com/dreamboy2000/p/15350478.html ========================================= ...