【高级玩转Lighthouse】手把手教你轻量服务器Windows系统IIS下自动申请、续签SSL证书
轻量应用服务器(Tencent Cloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,特别适合中小企业和开发者。
现在无论是网站建设还是小程序开发等都需要HTTPS,SSL证书有都过期的限制,商业证书一般一年,免费证书一般是90天,如果没有及时续期ssl证书,那么将会影响线上程序正常运行。
在Linux下面,有宝塔、1Panel等工具,在部署网站的时候,可以自动申请和续签Let's Encrypt的SSL证书。
而由于本人是.net的开发者,虽然在linux下面部署应用也方便,但由于目前大部分应用还是在Windows服务器上部署,所以,也需要找到一种可以在Windows下自动申请、续签SSL证书的办法。
经过研究,win-acme,这款工具非常适合,可以做到自动申请,并安装配置到IIS。并简单的添加一个任务即可自动续签,非常推荐大家使用。
一、win-acme 项目地址和下载
https://github.com/win-acme/win-acme
截至本稿,最新版是 2.2.9.1,我们到这下载页面,https://github.com/win-acme/win-acme/releases ,推荐下载 win-acme.v2.2.9.1701.x64.pluggable.zip 这个版本。自带运行时,不需要安装.net 运行时。

二、申请证书和部署证书
将下载软件解压轻量服务器一个位置,例如我解压到这个位置:

双击打开 wacs.exe

选择N。使用默认设置进行申请证书,这时候他会自动识别并列出IIS的所有站点,这里我只有一个站点绑定域名,就显示如下:


跟着选2这个站点。注意,这里是需要有绑定域名的IIS站点,没有绑定域名的,他不会列出来。

接下来,就会提示你是哪个站点,然后就是查看协议和同意协议。然后让你输入邮箱。最后他就自动去验证、下载证书和部署,这个过程全自动。

这样就自动帮你部署好了。也有证书过期时间,我们可以回到IIS刷新一下站点,就可以看到他已经自动帮你加上证书了:

三、自动续签
如果IIS上有多个站点,或者一个站点绑定多个域名,可以按照以上步骤进行申请并绑定。当我们把所有需要的站点都申请好SSL证书后,我们可以进行添加一个定时任务,让程序自动更新证书。
这里我们使用一个脚本来做定时任务,这样有个好处,就是可以测试能不能正常的运行
3.1、创建一个renew_cert.bat 文件,内如如下,程序路径,请根据实际情况填写。
展开
代码语言:JavaScript
自动换行
AI代码解释
chcp 65001 @echo off REM ============================================= REM 自动续签 win-acme HTTPS 证书脚本 REM ============================================= REM 设置当前路径 cd /d C:softwin-acme REM 执行自动更新命令(静默模式) wacs.exe --renew REM ============================================= echo [%date% %time%] 证书自动更新任务已执行完毕。

3.2、测试脚本是否正常
然后我们先用cmd运行一下:

可以看到自动运行成功,那就说明这个脚本文件可以用。
3.3、添加定时任务自动执行
按 Win + R 键打开“运行”对话框,然后输入 taskschd.msc 并按回车键,这将打开“任务计划程序”窗口。

点击创建任务 ,添加一个任务,名称输入,勾选 不管用户是否登录都要运行,使用最高权限运行 。

切换到触发器,新建触发器:

这里我选择每天都执行,选择一个系统比较空闲的时间,半夜三更最适合干这种事。
切换到操作,新建操作,选择启动程序,浏览选择该脚本


最后确定后,就可以看到新建定时任务成功:(www.tvmkv.com)

至此。也就完成SSL证书的申请并自动续签。
总结:
使用 win-acme 对Windows Server的站点进行自动申请和使用自动任务进行续签,可以极大方便windows用户。而且这个过程也几乎都是通过UI交互界面进行配置,对用户的操作要求不高。
这就对使用windows的轻量用户来说,可以简单方便的使用IIS进行站点部署,也省去三个月需要重新申请并部署证书的繁琐操作。









