windowsServer下的SSL证书申请&续签

目录

相关文件下载

Certbot:Certbot.exe

前言

后续的操作都基于环境安装好的情况下进行,如何安装这里久不详细赘述了。这里的Apache环境由PHPstudy自带的,单独下载的Apache相关路径可能有不相同。

环境

WindowsServer(2016)

PHPstudy(8.1.1.3)

MySQL(5.7.26)

Apache(2.4.39)

certbot(2.9.0)

SSL证书申请

(SSL证书申请方法一)

WIN+R打开cmd,查看certbot是否能正常运行

1

证书申请测试(成功申请后去掉--dry-run再次运行)

注:在没确定好测试成功前不要去掉--dry-run,成功获取证书5次后得等168小时/7天才能再次申请。

参数说明:

申请完后需进行DNS验证,在域名控制商(我这里是阿里云)添加指定的域名解析,类型为TXT。(如下图)

2 3 3

完成后按Enter即可获取SSL证书,并输出存放路径。

手动定位到原文件将证书导入到PHPstudy的https的证书

3

导入完成后重启Apache服务器证书将会生效(这里导入完成会自动重启Apache)。

注意:也可手动将证书复制到该路径(如果环境不同则需自己上网查询,注意名称需要在Apache的配置文件中设置,最好还是手动导入)

(SSL证书申请方法二<推荐>)

WIN+R打开cmd,查看certbot是否能正常运行

1

证书申请测试(成功申请后去掉--dry-run再次运行)

注:在没确定好测试成功前不要去掉--dry-run,成功获取证书5次后得等168小时/7天才能再次申请。

手动定位到原文件将证书导入到PHPstudy的https的证书

3

导入完成后重启Apache服务器证书将会生效(这里导入完成会自动重启Apache,也可手动将证书复制到该路径,注意名称需要在Apache的配置文件中设置,最好还是手动点击导入,方便后续做SSL证书续签自动化)。

注意:如果环境不是PHPstudy下的Apache则需自己上网查询SSL存放路径,以及配置文件。

SSL证书续签

证书续签+自动化(基于方法一)

重复上边申请证书的步骤即可。

关于自动化的安全问题,怕泄漏云厂商的AccessKey出问题,所以没研究了,有兴趣的师傅可以自己研究网上有相关资源。

证书续签+自动化(基于方法二)

证书续签2

注:在没确定好测试成功前不要去掉--dry-run,成功获取证书5次后得等168小时/7天才能再次申请。

续签自动化2

这里献上powershell脚本,通过定时脚本的方式进行自动化续签。

创建Renew_SSL.ps1脚本后,将其添加到Windows定时任务里面去

意外状况及方法解决

环境问题

我仔细核查了下,如果是安装的phpsutdy最新版的PHPstudy(8.1.1.3),这个版本的web服务启动是以无服务的方式启动的,没有切换以服务启动的模式,在之前的版本里面是有的。这里以Apache为例,它是通过Apache下的ApacheMonitor.exe开启的无服务,也就是说在服务列表中"Services.msc"找不到Apache这个服务项,需要自己手动创建注册服务。

注:服务列表的Apache和phpstudy的无服务Apache只能开启一个。

WIN+R输入cmd打开命令提示符。(如果注册不了就以管理员的方式启动)

相关命令

附录

相关知识

certbot的Windows版本2024-02-09后不在更新,详情请见

Certbot Discontinuing Windows Beta Support in 2024 - Client dev - Let's Encrypt Community Support (letsencrypt.org)

Certbot的Windows版本最新版本下载链接:

https://github.com/certbot/certbot/releases/download/v2.9.0/certbot-beta-installer-win_amd64_signed.exe

.symlink相关文章

符号链接、硬链接及其在 Windows 上的应用举例 - 少数派 (sspai.com)

".ps1"的脚本定时操作


注:本文章和工具(工具为网络资源非本人开发)仅供学习和研究使用,请勿使用项目的技术手段用于非法用途,任何人造成的任何负面影响,与本人无关.

文章来源:https://fireworm.cc