帮助

在 Windows IIS 上使用 Auto SSL(win-acme)

win-acme(wacs.exe)是 Windows 平台的 ACME 客户端,可自动在 IIS 中创建 HTTPS 绑定并创建续期计划任务。它支持外部账户绑定(EAB),因此可直接用于 Auto SSL。

在哪里获取密钥

  1. 在个人中心 1host.kz/bill 打开"Auto SSL (Sectigo ACME)"服务(可在 Auto SSL 页面下单)。
  2. 点击"Configure Now"(配置),在"Single Domains"中填写域名(www 与不带 www 视为同一域名),通配符填入"Wildcard Domains"。
  3. 5–30 秒后卡片中显示 ACME account IDEAB MAC IDEAB MAC keyServer URL

命令中:Server URL 为 https://acme.sectigo.com/v2/DVYOUR_EAB_KID 为 EAB MAC ID,YOUR_EAB_HMAC_KEY 为 EAB MAC key。

需要准备

  • 安装了 IIS 角色的 Windows Server,管理员权限,PowerShell。
  • IIS 中的站点已为所需名称(example.kzwww.example.kz)配置 HTTP 绑定。
  • 域名指向服务器,80 端口在 Windows 防火墙和网络防火墙中开放。

安装 win-acme

  1. win-acme.com 下载最新版本(win-acme.v*.x64.pluggable.zip 压缩包)。
  2. 解压到固定文件夹,例如 C:\win-acme——续期任务将从该处运行,之后请勿移动。
  3. 以管理员身份打开 PowerShell 并进入该文件夹:cd C:\win-acme

为 IIS 站点签发证书

在 IIS 中查看站点 ID(IIS 管理器 → 网站,ID 列),然后执行一条命令:它使用 EAB 密钥注册账户,通过 IIS 验证域名,将证书放入证书存储并创建 HTTPS 绑定:

.\wacs.exe --source iis --siteid 1 --host example.kz,www.example.kz `
  --baseuri https://acme.sectigo.com/v2/DV `
  --eab-key-identifier YOUR_EAB_KID --eab-key YOUR_EAB_HMAC_KEY `
  --emailaddress [email protected] --accepttos

其中:--source iis——从 IIS 绑定中获取名称(并启动无人值守模式),--siteid——站点 ID,--host——要包含的名称(都必须在订阅中),--baseuri——ACME 服务器地址,--eab-key-identifier--eab-key——个人中心的密钥,--accepttos——同意 CA 的条款。不指定 --host 时,win-acme 会使用站点的所有绑定。

账户保存在 %ProgramData%\win-acme\acme.sectigo.com_v2_DV\;此后在该服务器上申请其他证书只需 --baseuri,无需重复密钥。也可以交互式操作:不带参数运行 .\wacs.exe,但需先在命令行传入 --baseuri 和 EAB 密钥——菜单中没有输入它们的地方。

其他服务与通配符

要在每次续期后更新 RDP、Exchange 或 RDS 中的证书,请在签发命令中添加安装脚本:--installation iis,script --script "C:\win-acme\Scripts\ImportRDGateway.ps1" --scriptparameters "{CertThumbprint}"——发行包的 Scripts 文件夹中提供了现成的脚本示例。

*.example.kz 需要 DNS 验证:按 win-acme 文档使用 --validation 指定您的 DNS 服务商插件(例如 cloudflare)及其参数,域名使用 --host example.kz,*.example.kz 并配合 --source manual。如果域名的 DNS 在我们的 ns1/ns2.1host.kz 上,请联系技术支持——我们协助配置。

常见错误

  • 80 端口被占用或关闭——http-01 验证失败。确认 IIS 在 80 端口监听(netstat -ano | findstr :80)且端口在防火墙中开放。
  • 域名未指向服务器——Resolve-DnsName example.kz 必须返回该服务器的 IP。
  • CA 拒绝订单——域名不在 Auto SSL 订阅中;请在个人中心添加("Add domain")。
  • 证书已签发但网站仍使用旧证书——检查 IIS 中站点的 HTTPS 绑定:必须选择新证书(如果绑定是 win-acme 创建的,它会按指纹自动更新)。

检查与续期

通过 HTTPS 打开网站:证书颁发者为 Sectigo。在 PowerShell 中查看 win-acme 证书列表和有效期:

.\wacs.exe --list
Get-ChildItem Cert:\LocalMachine\WebHosting | Format-List Subject,Issuer,NotAfter

续期由 win-acme 首次签发时创建的计划任务"win-acme renew (acme-v02…)"执行;它每天运行,在到期前 55 天更新证书。检查任务是否存在或重新创建:

Get-ScheduledTask | Where-Object TaskName -like "win-acme*"
.\wacs.exe --setuptaskscheduler

手动执行续期:.\wacs.exe --renew --force。日志位于 %ProgramData%\win-acme\…\Log。Auto SSL 订阅每年通过账单续费一次(账单提前 14 天开出);订阅有效期间证书自动更新。配置帮助——通过个人中心联系 ONEHOST 技术支持,全天候服务。

如有任何疑问,请联系我们