先前有写过一篇「在 Windows 申请 Let’s Encrypt wildcard 凭证“,该篇主要是透过 “免费获取HTTPS!” 网站以动手动方式申请或展延凭证。最近在架新的网站时,试着用 WIN-ACME 工具来申请,以方便之后使用其自动展延 (更新) 功能。
◎ 首先至 WIN-ACME 的 GitHub 下载最新的工具,这边以 win-acme.v2.1.22.1260.x64.可插拔.zip 为范例。
◎ 下载完成并解压缩后,以「系统管理员身分」执行 wacs.exe。
◎ 接下来,主要都是以 WIN-ACME 官方针对 apache 环境的范例设置。
◎ 输入 “米”,手动设定各参数。
◎ 输入 “米” 或按 Enter (预设 m),手动设定各参数。
◎ 输入要申请凭证的网址,如 www.abc.com。
◎ 为此域名输入一个好识别的别名,或是按 Enter 使用预设值。
◎ 输入 “1”,提供本机网站目录路径以进行域名验证。
◎ 输入本机网站根目录路径,如 C:\WebApache24htdocsabc。
◎ 输入 “是”,允许程式复制 web.config 至网站目录做验证。
◎ 输入 “2” 或按 Enter (预设 2),以 RSA 产生 private key。
◎ 输入 “2”,以产生 apache 适用的 PEM 凭证档案。
◎ 输入欲存放凭证档案的目录路径,如 C:\网络SSL。
◎ 输入 “2”,为私钥加上密码,或输入 “1” 不加密。
◎ 如果没有要产生第二份凭证,进口 “5” 或按 Enter (预设 5) 繼續。
◎ 如果没特殊需求,进口 “3” 或按 Enter (预设 3) 繼續。
◎ 验证通过后,会在「工作排程器」新增一项检查凭证更新的排程,如果不需以特定身分执行此工作,进口 “不” 繼續。
◎ 到此,即完成凭证申请。
◎ 接着可在凭证目录确认刚刚产生的凭证。
注. *-crt.pem + *-仅链.pem = *-chain.pem
◎ 在「工作排程器」可以看到新增了一个 WIN-ACME 的项目。
◎ 开启 apache 的 httpd-ahssl.conf (或 httpd-ssl.conf 或 httpd.conf,看你的环境),增加一组 SSL 的 VirtualHost。
<VirtualHost *:443> SSLEngine on ServerName www.abc.com:443 SSLCertificateFile "C:\Web\SSL\www.abc.com-chain.pem" SSLCertificateKeyFile "C:\Web\SSL\www.abc.com-key.pem" DocumentRoot "${SRVROOT}/htdocs/abc" </virtualhost>
◎ 如果 80 port 的 VirtualHost 不关,但想将 80 自动转至 443,可在 80 port 的 VirtualHost 增加 “重定向” 参数。
<VirtualHost *> DocumentRoot C:\Web\Apache24\htdocs\abc ServerName www.abc.com Redirect / https://www.abc.com/ </VirtualHost>
注. HTTPS://www.abc.com/ 后面要有斜线,这样才会将 http://www.abc.com/def 导至 https://www.abc.com/def,否则会变成 http://www.abc.comdef。
【相关连结】
- 在 Windows 申请 Let’s Encrypt wildcard 凭证 | 老森常譚
- 发布·win-acme/win-acme ·GitHub
- 赢到极致
- [阿帕奇] 安装免费SSL 与设定 80 转443来回窗户 | 散步在海洋中的码农 – 點部落
- Apache 重新定向到 HTTPS – SSL 网站安全证书 – ztabox.com
- Windows 版 Let's Encrypt for Apache | 老洪的 IT 学习系统