Win-ACME — это инструмент, позволяющий автоматизировать установку SSL-сертификатов Let’s Encrypt в среде Windows. Вот некоторые общие команды и параметры для использования с этой программой:
- Запуск программы: Чтобы запустить программу, вы должны использовать команду
wacs.exe
илиwacs.exe --help
, чтобы увидеть доступные параметры. - Команды и параметры:
--target
: Определяет целевой объект для выдачи сертификата. Доступные значения:iis
,manual
,unc
,ftp
.--store
: Указывает, где сохранять сертификаты. Возможные значения:certificateservice
,pemfiles
,centralssl
.--installation
: Определяет, как сертификат будет установлен. Значения включаютiis
,script
,none
.--renew
: Попытка возобновить сертификаты, которые уже были настроены.--force
: Принудительное обновление всех сертификатов, даже если срок их действия еще не истек.--friendlyname
: Задает дружественное имя для сертификата.
- Настройки автоматизации:
--renewaluri
: Указывает путь к директории для хранения файлов обновлений сертификатов.--centralsslstore
: Задает путь к центральному хранилищу SSL-сертификатов.
Подробную информацию и документацию можно найти на сайте win-acme, где есть руководство пользователя и описание всех доступных команд и опций.
Ссылка на сайт: https://www.win-acme.com/
Напишите команду, по которой надо получить сертификат для domain.ru, установить его в IIS для этого домена, а также сохранить сертификаты в подпапку “ssl\имя домена”?
Клиент
Для получения сертификата для домена domain.ru
, установки его в IIS, и сохранения сертификата в подпапку ssl\имя домена
, вы можете использовать следующую команду win-acme:
wacs.exe --target manual --host domain.ru --validation filesystem --webroot "C:\inetpub\wwwroot" --store pemfiles --pemfilespath "C:\ssl\domain.ru" --installation iis --siteid 1
Вот краткое описание каждого из параметров:
--target manual
: Запуск ручного режима, который позволяет вручную настроить параметры для получения сертификата.--host domain.ru
: Указывает имя хоста, для которого требуется сертификат.--validation filesystem
: Указывает метод проверки, используемый для проверки владения доменом, в данном случае — файловая система.--webroot "C:\inetpub\wwwroot"
: Путь к корневому каталогу веб-сайта для размещения файлов проверки. Убедитесь, что этот путь соответствует вашему конкретному случаю.--store pemfiles
: Сохранение сертификатов в формате PEM.--pemfilespath "C:\ssl\domain.ru"
: Путь, куда будут сохраняться PEM-файлы сертификата.--installation iis
: Установка сертификата в IIS.--siteid 1
: ID сайта в IIS, который будет использоваться для установки сертификата. Убедитесь, что этот ID соответствует вашему сайту в IIS.
Эта команда предполагает, что у вас уже настроен доступ к корневому каталогу веб-сайта для проверки владения доменом и что вы знаете ID сайта в вашем IIS. Вам также может потребоваться запустить команду от имени администратора для корректной работы.
А как добавить сюда авто продление сертификата?
Клиент
Для добавления автоматического продления сертификата в win-acme, вы можете использовать запланированные задачи Windows, которые автоматически запускают win-acme по расписанию. Win-ACME по умолчанию предлагает настроить задачу планировщика при первом запуске, но если вы хотите настроить это вручную или уточнить параметры, вот как это можно сделать:
- Настройте задачу в Планировщике задач Windows:
- Откройте Планировщик задач (
taskschd.msc
). - Создайте новую задачу (Не простое задание).
- Настройте триггер задачи, например, чтобы она запускалась каждый день в удобное для вас время.
- В действиях задачи укажите запуск программы
wacs.exe
. - В качестве аргументов программы укажите
--renew --baseuri "https://acme-v02.api.letsencrypt.org/"
.
--renew
: Проинструктирует win-acme проверить и возобновить все сертификаты, которые истекают в ближайшие 55 дней.--baseuri
: Указывает на сервер ACME, с которым следует взаимодействовать, это стандартный URL для Let’s Encrypt.
- Откройте Планировщик задач (
- Подтверждение прав администратора:
- Убедитесь, что задача запускается от имени пользователя с административными правами, чтобы избежать проблем с доступом к файлам и настройкам IIS.
- Проверка функциональности:
- После настройки задачи запустите её вручную для проверки корректности работы. Это позволит убедиться, что все параметры заданы правильно и сертификат может быть обновлён без ошибок.
После установки задачи на автоматическое продление сертификатов win-acme будет самостоятельно запускать процесс возобновления сертификатов, учитывая заданные вами параметры.
Можно ли добавить запуск скрипта после получения сертификата?
Клиент
Да, в win-acme можно добавить выполнение пользовательского скрипта после получения или возобновления сертификата. Это делается через параметр --script
, который позволяет указать скрипт для запуска, и --scriptparameters
, где вы можете передать параметры этому скрипту.
Вот пример команды, которая запускает скрипт после успешного получения сертификата:
wacs.exe --target manual --host domain.ru --validation filesystem --webroot "C:\inetpub\wwwroot" --store pemfiles --pemfilespath "C:\ssl\domain.ru" --installation iis --siteid 1 --script "C:\path\to\your\script.ps1" --scriptparameters "{CertThumbprint}"
Здесь:
--script "C:\path\to\your\script.ps1"
: Путь к скрипту, который нужно выполнить. В примере указан скрипт PowerShell.--scriptparameters "{CertThumbprint}"
: Параметры для скрипта. Win-ACME предоставляет различные плейсхолдеры (например,{CertThumbprint}
,{CacheFile}
,{CachePassword}
, и др.), которые заменяются на актуальные значения при выполнении скрипта.{CertThumbprint}
будет заменён на отпечаток сертификата.
Это позволяет автоматизировать дополнительные действия, такие как обновление сертификатов на других серверах, уведомление администраторов через электронную почту, логирование событий и многое другое. Убедитесь, что скрипт написан корректно и безопасно, особенно если он взаимодействует с важными системными компонентами.
Как в IIS узнать SiteId?
Клиент
Для того чтобы узнать ID сайта (SiteID) в Internet Information Services (IIS), вы можете использовать несколько методов:
1. Использование IIS Manager
Это наиболее простой и интуитивно понятный способ:
- Откройте IIS Manager (Internet Information Services Manager).
- В левой панели выберите корень сервера или нажмите на нужный вам сайт.
- При выборе сайта в центральной панели, в разделе “Действия” справа, можно увидеть идентификатор сайта под разделом Advanced Settings или в самом списке сайтов в колонке ID.
2. Использование командной строки
Вы можете использовать утилиту appcmd
, которая находится в папке %windir%\system32\inetsrv\
.
Откройте командную строку от имени администратора и выполните следующую команду:
appcmd list site
Эта команда покажет список всех сайтов с их основными настройками, включая идентификатор каждого сайта (ID).
3. Использование PowerShell
Вы можете использовать PowerShell для получения списка сайтов и их ID с помощью следующей команды:
Import-Module WebAdministration
Get-Website | select name, id
Это выведет список всех сайтов и их ID, установленных на вашем IIS.
Выберите метод, который вам наиболее удобен, в зависимости от ваших предпочтений и доступа к утилитам администрирования сервера.
Кроме того, в IIS надо добавить MimeType для файлов без расширения, “.” = “text/plain”, иначе авторизация домена с помощью Filesystem в win-acme не сработает.
Разбор ошибок.
Добавить комментарий