14 августа 2025 года команда Nginx выкатило свежий релиз 1.29.1. И, честно говоря, это не просто очередной апдейт с багфиксами, а маленький праздник для DevOps-инженеров — теперь в комплекте есть модуль ngx_http_acme, написанный на Rust. С ним можно автоматом получать и обновлять TLS-сертификаты через Let’s Encrypt, прямо из Nginx, без сторонних скриптов и crontab-магии.
🔐 Что нового в плане безопасности
- Закрыта критическая уязвимость CVE-2025-53859 в
ngx_mail_smtp_module. Если SMTP-аутентификация была в режиме"none", можно было вытащить кусок памяти рабочего процесса. Теперь дыры зашиты. - По умолчанию отключено сжатие сертификатов TLSv1.3.
- Появилась директива
ssl_certificate_compression— теперь вы сами решаете, сжимать сертификаты или нет.
🚀 Новые возможности
- QUIC с 0-RTT (при OpenSSL 3.5.1+) — меньше задержки при повторных соединениях.
- Поправлены баги в HTTP/2, HTTP/3 и обработке заголовков
Host/:authority. - Налажена сборка на NetBSD 10.0 — любители BSD снова в игре.
🦀 Модуль ngx_http_acme
Этот новый модуль автоматизирует:
- Запрос сертификатов по ACMEv2.
- Автоматическое принятие ToS.
- Регулярное обновление без ручного вмешательства.
Почему это важно: раньше приходилось ставить certbot или acme.sh, настраивать cron и перезапускать nginx. Теперь всё в одном конфиге.
📜 Пример конфигурации
acme_issuer letsencrypt {
uri https://acme-v02.api.letsencrypt.org/directory;
state_path /var/cache/nginx/acme-letsencrypt;
accept_terms_of_service;
}
server {
listen 80; # HTTP-01 challenge
location / { return 404; }
}
server {
listen 443 ssl;
server_name example.com;
acme_certificate letsencrypt;
ssl_certificate $acme_certificate;
ssl_certificate_key $acme_certificate_key;
ssl_certificate_cache max=2;
}
📌 Вывод
Nginx 1.29.1 — это:
- Безопаснее.
- Быстрее.
- Удобнее для автоматизации TLS.
Если вы DevOps, то обновление обязательно. А модуль ACME — ещё один шаг к тому, чтобы Nginx был не просто веб-сервером, а настоящей автоматизированной платформой.
Полезные ссылки: