Автоматизация SSL в LiteSpeed через ACME (acme.sh)
ПечатьLiteSpeed Web Server (OpenLiteSpeed или LiteSpeed Enterprise) поддерживает автоматизацию SSL/TLS сертификатов через ACME с использованием клиента acme.sh и механизма External Account Binding (EAB).
Данное руководство описывает установку, выпуск сертификатов, настройку LiteSpeed и проверку автоматического обновления. Все примерные значения необходимо заменить на ваши собственные.
LiteSpeed Web Server
Требования:
- Установленный LiteSpeed Web Server (OpenLiteSpeed или LiteSpeed Enterprise)
- SSH доступ с правами root/sudo
- Настроенные DNS записи A/AAAA на сервер
- Исходящий доступ к ACME серверу (например https://acme.sectigo.com/v2/DV)
- ACME учетные данные (EAB_KID и EAB_HMAC_KEY)
- Активный HTTP listener на порту 80
1. Установка acme.sh
Установка ACME клиента:
curl https://get.acme.sh | sh
Загрузка окружения и проверка:
source ~/.bashrc
acme.sh --version
Примечание: при ошибках установки проверьте наличие curl и git на сервере.
2. Регистрация ACME аккаунта
Регистрация с использованием EAB:
acme.sh --register-account \
--server https://acme.sectigo.com/v2/DV \
--eab-kid EAB_KID \
--eab-hmac-key EAB_HMAC_KEY \
--accountemail you@example.com
Параметры:
- SERVER — URL ACME сервера
- EAB_KID — идентификатор EAB
- EAB_HMAC_KEY — секретный ключ CA
- accountemail — email для уведомлений
3. Выпуск сертификата (Webroot)
Выпуск SSL сертификата:
acme.sh --issue \
-d yourdomain.com \
-d www.yourdomain.com \
-w /path/to/webroot \
--server https://acme.sectigo.com/v2/DV
Пояснение:
- yourdomain.com — основной домен
- -w — путь к webroot (например /home/user/public_html)
- --server — ACME сервер CA
4. Установка сертификата в LiteSpeed
Создание директории сертификатов:
mkdir -p /usr/local/lsws/conf/cert/yourdomain.com
Установка сертификата и авто-перезагрузка LiteSpeed:
acme.sh --install-cert -d yourdomain.com \
--key-file /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.key \
--fullchain-file /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.crt \
--reloadcmd "/usr/local/lsws/bin/lswsctrl reload"
Примечание: LiteSpeed автоматически перезагрузится после каждого обновления сертификата.
5. Настройка HTTPS Listener (порт 443)
- Listeners → Add
- Port: 443
- Secure: Yes
- IP: ANY
Настройки SSL:
- Private Key: /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.key
- Certificate: /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.crt
Сохраните и перезапустите LiteSpeed.
6. Проверка и авто-обновление
Сертификаты обновляются автоматически (~за 30 дней до истечения).
Проверка cron:
crontab -l
Пример:
24 13 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
Принудительное обновление:
acme.sh --renew -d yourdomain.com --force
Проверка SSL
- Откройте https://yourdomain.com
- Проверьте валидность сертификата
- Убедитесь в соответствии домена
Устранение проблем
- Порт 80 закрыт — проверьте firewall / lsof -i :80
- Unauthorized — проверьте EAB и ACME URL
- 404 challenge — проверьте webroot и права
- Standalone conflict — используйте только webroot режим