Помощь

Auto SSL на Windows IIS (win-acme)

win-acme (wacs.exe) — ACME-клиент для Windows, который сам создаёт привязки HTTPS в IIS и задачу планировщика для продления. Он поддерживает внешнюю привязку аккаунта (EAB), поэтому работает с Auto SSL напрямую.

Где взять ключи

  1. В личном кабинете 1host.kz/bill откройте услугу «Auto SSL (Sectigo ACME)» (оформить — на странице Auto SSL).
  2. Нажмите «Configure Now» («Настроить»), введите домены в «Single Domains» (www и без www — один домен), wildcard — в «Wildcard Domains».
  3. Через 5–30 секунд в карточке появятся ACME account ID, EAB MAC ID, EAB MAC key, Server URL.

В командах: Server URL — https://acme.sectigo.com/v2/DV, YOUR_EAB_KID — EAB MAC ID, YOUR_EAB_HMAC_KEY — EAB MAC key.

Что понадобится

  • Windows Server с ролью IIS, права администратора, PowerShell.
  • Сайт в IIS с привязкой HTTP на нужное имя (example.kz, www.example.kz).
  • Домен указывает на сервер, порт 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

Узнайте ID сайта в IIS (Диспетчер 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 — согласие с условиями ЦС. Без --host win-acme возьмёт все привязки сайта.

Аккаунт сохраняется в %ProgramData%\win-acme\acme.sectigo.com_v2_DV\; для следующих сертификатов на этом сервере достаточно --baseuri, ключи повторять не нужно. Можно и интерактивно: запустите .\wacs.exe без параметров, но сначала передайте --baseuri и ключи EAB — в меню их ввести негде.

Другие службы и wildcard

Чтобы после каждого продления обновлять сертификат в RDP, Exchange или RDS, добавьте к команде выпуска скрипт-установщик: --installation iis,script --script "C:\win-acme\Scripts\ImportRDGateway.ps1" --scriptparameters "{CertThumbprint}" — готовые примеры скриптов лежат в папке Scripts дистрибутива.

Для *.example.kz нужна DNS-проверка: укажите --validation с плагином вашего DNS-провайдера (например, cloudflare) и его параметрами по документации win-acme, а домен — --host example.kz,*.example.kz с источником --source manual. Если DNS домена на наших ns1/ns2.1host.kz, напишите в поддержку — поможем.

Типовые ошибки

  • Порт 80 занят или закрыт — проверка http-01 не проходит. Убедитесь, что на 80 слушает IIS (netstat -ano | findstr :80) и порт открыт в брандмауэре.
  • Домен не указывает на серверResolve-DnsName example.kz должен вернуть IP этого сервера.
  • ЦС отклоняет заказ — домена нет в подписке Auto SSL; добавьте его в кабинете («Add domain»).
  • Сертификат выдан, но сайт отдаёт старый — проверьте привязки HTTPS сайта в IIS: в них должен быть выбран новый сертификат (win-acme обновляет привязки по отпечатку сам, если они были созданы им).

Проверка и продление

Откройте сайт по HTTPS: издатель сертификата — Sectigo. Из PowerShell список сертификатов win-acme и срок:

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

Продление выполняет задача планировщика «win-acme renew (acme-v02…)», которую win-acme создаёт при первом выпуске; она запускается ежедневно и обновляет сертификаты за 55 дней до конца срока. Проверить, что задача есть, или пересоздать её:

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

Прогнать продление вручную: .\wacs.exe --renew --force. Журналы — в %ProgramData%\win-acme\…\Log. Подписка Auto SSL продлевается счётом раз в год (счёт — за 14 дней); пока она активна, сертификаты обновляются сами. Помощь с настройкой — в поддержке ONEHOST из личного кабинета, круглосуточно.

Остались вопросы - пишите