阿里云ECS 使用 win-acme 自动更新 免费SSL泛域名证书 Lets Encrypt

在阿里云上弄了一个ECS小鸡,架了一个博客,域名也是阿里云的,跟风上了SSL,证书用的是免费的 Lets Encrypt,Lets Encrypt非常好,就是证书的期限只有3个月,3个月内要续期,这就比较麻烦了。
对于Linux主机来说,网上有大把的教程怎么自动续期证书,但是windows就比较麻烦了。
3个月前搜了很久才找到一个 win-acme,按教程,还是比较容易就申请到了两个泛域名证书,但是自动续期需要验证域名的txt记录,本人对PS脚本不熟,对怎么用脚本添加域名txt记录七窍通了六窍,真是可恨。
好在阿里云有SDK可以操作云解析,把C#的SDK整到一个小程序里,实现了简单调用就能修改域名txt记录,然后简单写2个脚本配合一下就OK了。
先上脚本:

ali-dns.ps1:(C:\win-acme\Alidns\ 是存放Alidns.exe的路径,不要有空格,支持二级泛域名txt记录)

$action = $args[0]
$zone = $args[1]
if ($zone.Split(".").length -gt 2)
{
    $zone = $zone.Substring($zone.indexOf(".") + 1)
}
$name = $args[2].Replace($zone,"").Trim(".")
if($action -eq "create") {
    $text = $args[3]
    C:\win-acme\Alidns\Alidns.exe $action $zone $name $text
}elseif($action -eq "delete") {
    C:\win-acme\Alidns\Alidns.exe $action $zone $name
}

restartNginx.bat:(使用了Nginx来发布网站,把Nginx注册成了windows的服务,更新证书后调用此脚本重启Nginx,否则新证书不生效)

net stop "Nginx Service"
net start "Nginx Service"

Alidns.exe.config:(需要把在阿里云申请到的AppKey和AppSecret填入Alidns.exe的配置文件)

  <appSettings>
    <add key="AliAppKey" value="Here Is Your AliAppKey"/>
    <add key="AliAppSecret" value="Here Is Your AliAppSecret"/>
  </appSettings>

更新域名txt记录的程序在这里下载:
Alidns.zip

这里主要记录 Alidns.exe 的使用方法, win-acme的使用教程就不细说了,网上一搜一大把。

win-acmeLets Encrypt泛域名证书自动更新

我来吐槽

*

*