Что сильно упростит жизнь, особенно DevOps-специалистам
Команда NGINX представила превью-версию встроенной поддержки протокола ACME через новый модуль ngx_http_acme_module.
Теперь SSL/TLS-сертификаты можно запрашивать, устанавливать и обновлять напрямую в конфигурации NGINX — без внешних инструментов вроде Certbot.
Модуль реализован на Rust с использованием NGINX-Rust SDK и доступен как для пользователей NGINX Open Source, так и для клиентов NGINX Plus через F5.
Что такое ACME и зачем он нужен
ACME (Automated Certificate Management Environment) — протокол, изначально созданный ISRG в рамках Let’s Encrypt для автоматизации получения и продления SSL/TLS-сертификатов.
Он избавляет от ручных операций, сокращает риск ошибок и снижает затраты на поддержку HTTPS.
Версия ACMEv2 поддерживает дополнительные методы проверки, включая wildcard-сертификаты.
Как это работает в NGINX
Встроенный ACME в NGINX позволяет:
- Настроить ACME-issuer (например, Let’s Encrypt) через директиву
acme_issuer
. - Выделить общую память (
acme_shared_zone
) для хранения ключей, сертификатов и данных challenge. - Обрабатывать HTTP-01 challenge — требуется listener на порту :80 для подтверждения владения доменом.
- Автоматически выпускать и продлевать сертификаты с помощью директивы
acme_certificate
в блокеserver
, используя переменные$acme_certificate
и$acme_certificate_key
для подключения вssl_certificate
иssl_certificate_key
.
На старте поддерживается только HTTP-01, в будущем обещаны TLS-ALPN и DNS-01. Wildcard-домены и regex в server_name
пока недоступны.
В чем важность нововведения
Интеграция ACME напрямую в NGINX:
- Убирает зависимость от внешних CLI-утилит, повышая безопасность и уменьшая поверхность атаки.
- Исключает платформенные ограничения сторонних инструментов.
- Упрощает DevOps-процессы, снижает количество ручных операций и риск ошибок.
С ростом HTTPS и IoT-устройств, автоматизация управления сертификатами становится базовым требованием и нативная поддержка ACME в NGINX делает этот процесс проще и надёжнее.