先前有写过一篇「在 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) 繼續。

◎ 验证通过后,会在「工作排程器」新增一项检查凭证更新的排程,如果不需以特定身分執行此工作,进口 “no” 繼續。

◎ 到此,即完成憑證申請。

◎ 接著可在憑證目錄確認剛剛產生的憑證。

注. *-crt.pem + *-chain-only.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 增加 “Redirect” 參數。
<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 凭证 | 老森常譚
- Releases · win-acme/win-acme ·GitHub
- win-acme
- [阿帕奇] 安裝免費SSL 與設定 80 轉443 fro windows | 散步在海洋中的碼農 – 點部落
- Apache 重新定向到 HTTPS – SSL 網站安全證書 – ztabox.com
- Windows 版 Let’s Encrypt for Apache | 老洪的 IT 學習系統