
来自我的博客:https://blog.853lab.com/2018/09/post_1965.html,采用BY-NC-SA 3.0中国大陆许可协议进行许可
该文章适用于:在Windows服务器上搭建Web服务的程序猿
科普:let’s encrypt是目前全球知晓的免费SSL提供商,我们访问的HTTPS安全链接大部分就是这些SSL提供商提供的支持。
由于Windows上的win-acme申请不了泛域名证书,就尝试其他方法来申请证书,发现certbot和acme.sh都可以申请,找了一下Windows运行certbot的教程,发现教程里要把certbot大换血后才能运行,见麻烦,告辞。 然后看了看acme.sh,发现可以用Cygwin带起来,就直接试了试,效果还算不错。就弄了个教程方便参考。
1、全程联网,安装Cygwin,直接点点点下一步,节点使用163节点(速度快,如果只想配置acme.sh的话):http://mirrors.163.com/cygwin/或其他可以用的节点

使用http://mirrors.163.com/cygwin/或其他可以用的节点
2、在选择包列表,选择curl、cron、bzip2、wget、gcc-core、gcc-g++、make、openssh、lynx,然后下一步

选择包界面
3、点点点下一步,Cygwin就安装好了(网络错误除外)然后在Windows的path变量下追加“;C:\cygwin64\bin;C:\cygwin64\usr\local\bin”

新版Windows追加Path

旧版Windows追加Path
4、双击打开“C:\cygwin64”目录下的“Cygwin.bat”文件,运行以下命令:curl https://get.acme.sh | sh或者是这个:wget -O - https://get.acme.sh | sh等待安装妥当,出现下面的界面代表安装完成(如果不显示或不显示最后的“Install success!”,估计是你安装Cygwin时没安装全所选的包,不卸载再重新运行Cygwin安装包安装)

在Cygwin下安装acme.sh
5、关掉并重新打开“C:\cygwin64”目录下的“Cygwin.bat”文件,使用DNS方式来配置DNS API并申请域名证书。 (我这里用的是大佬推荐的CloudXNS,所以我用的是CloudXNS的DNS API) !务必阅读!How to use DNS API:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.mdCloudXNS使用示范:export CX_Key="77777777777777888888ccccccczzzzz" export CX_Secret="zzzzzddddddsssss"之后运行下面的命令申请(CloudXNS用的是–dns dns_cx,阿里云用的是–dns dns_ali,其他请参考How to use DNS API):acme.sh --issue --dns dns_cx -d 853lab.com -d *.853lab.com等候完成。
6、开始设置自动续期,请打开记事本,粘贴并修改以下文本,保存为“autoacme.bat” 注意修改[要修改的位置]!bash --login -i -c "[acme.sh --issue --dns dns_cx -d 853lab.com -d *.853lab.com]" & copy C:\cygwin64\home\[Windows用户名]\.acme.sh\[853lab.com]\*.* [复制到一个存放证书的路径] /y示例:bash --login -i -c "acme.sh --issue --dns dns_cx -d 853lab.com -d *.853lab.com" & copy C:\cygwin64\home\Sonic853\.acme.sh\853lab.com\*.* C:\web-config\cet /y之后双击运行一次“autoacme.bat”检查是否运行,成功的话在存放证书的路径就能看得见你申请的证书了:

7、打开“任务计划程序”,点击左边的“任务计划程序库”,点击右边的“创建基本任务”,按自己想法输入名称和描述,点击下一步

触发器选择每天

每天早上9:00一次

选择运行“autoacme.bat”脚本

完成后双击或右键属性选择刚刚创建好的项目,设置安全选项下的选项“不管用户是否登陆都要运行”以及“使用最高权限运行”。

All Done!
之后可以使用其他httpd程序来应用证书了!(本人用的是Apache httpd,请参阅其他文章来应用SSL证书)