Auto SSL на Windows IIS (win-acme)
win-acme (wacs.exe) — ACME-клиент для Windows, который сам создаёт привязки HTTPS в IIS и задачу планировщика для продления. Он поддерживает внешнюю привязку аккаунта (EAB), поэтому работает с Auto SSL напрямую.
Где взять ключи
- В личном кабинете 1host.kz/bill откройте услугу «Auto SSL (Sectigo ACME)» (оформить — на странице Auto SSL).
- Нажмите «Configure Now» («Настроить»), введите домены в «Single Domains» (
wwwи безwww— один домен), wildcard — в «Wildcard Domains». - Через 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
- Скачайте свежий релиз с win-acme.com (архив
win-acme.v*.x64.pluggable.zip). - Распакуйте в постоянную папку, например
C:\win-acme— из неё будет запускаться задача продления, не перемещайте её потом. - Откройте 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 из личного кабинета, круглосуточно.