The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новая версия nginx 1.29.1. Представлен модуль ngx_http_acme

14.08.2025 08:24

Опубликован выпуск основной ветки nginx 1.29.1, в которой продолжается развитие новых возможностей. В параллельно поддерживаемую стабильную ветку 1.28.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.29.x будет сформирована стабильная ветка 1.30. Код проекта написан на языке Си и распространяется под лицензией BSD.

В новом выпуске:

  • Устранена уязвимость (CVE-2025-53859) в модуле ngx_mail_smtp_module, приводящая к чтению данных из области памяти вне буфера при обработке специально оформленных значений логина и пароля при использовании метода аутентификации "none". Уязвимость может привести к утечке содержимого памяти рабочего процесса nginx в HTTP-запросе к внешнему серверу аутентификации. Патч.
  • По умолчанию отключено сжатие сертификатов TLSv1.3.
  • Добавлена директива "ssl_certificate_compression" для управления сжатием TLS-сертификатов.
  • В реализацию протокола QUIC добавлена поддержка режима 0-RTT, доступная на системах с OpenSSL 3.5.1 и более новыми выпусками.
  • Устранена ошибка, приводившая к буферизации HTTP-ответа 103 при использовании HTTP/2 и директивы "early_hints".
  • Устранена ошибка в обработчике параметра "none" в директиве "smtp_auth".
  • В реализации HTTP/3 решена проблема с обработкой номера порта в заголовке "Host".
  • Устранена проблема, проявлявшаяся при использовании одинаковых значений в заголовках "Host" и ":authority" при использовании HTTP/2.
  • Налажена сборка в NetBSD 10.0.

Отдельно компания F5 представила предварительный выпуск модуля ngx_http_acme, предоставляющего возможности для автоматизации запроса, получения и обновления сертификатов с использованием протокола ACMEv2 (Automatic Certificate Management Environment), применяемого удостоверяющим центром Let’s Encrypt. При использовании http_acme администраторам не нужно заботиться об обновлении сертификатов, на основе параметров в конфигурации модуль сам получит необходимые сертификаты в Let’s Encrypt или другом сервисе, поддерживающем протокол ACME. Код модуля написан на языке Rust с использованием SDK NGINX-Rust.


   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; # ACME 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; 
   }



  1. Главная ссылка к новости (https://github.com/nginx/nginx...)
  2. OpenNews: Новая версия nginx 1.29.0
  3. OpenNews: Выпуск Angie 1.10.0, форка Nginx
  4. OpenNews: Представлен FreeNginx, форк Nginx, созданный из-за несогласия с политикой компании F5
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63725-nginx
Ключевые слова: nginx, acme
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (52) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 08:45, 14/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    > автоматизации запроса, получения и обновления сертификатов

    Уже слишком поздно. В современных серверах такой функционал был годами, и вряд ли щас все кинутся обратно в нгинкс, лишь потому что он наконец проявил какие-то редкие признаки современности. Нгинкс всё.

     
     
  • 2.2, анон (?), 08:48, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    А какие есть плюсы у nginx в настоящее время? Раньше-то понятно, если сравнивать с апачем
     
     
  • 3.4, Аноним (4), 09:00, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Плюсы у nginx сейчас такие же, как и раньше: тянет тысячи и тысячи запросов в секунду, при этом PHP не падает, а вот на apache очень даже падает. Делал высоканагруженные приложения на PHP и мне еще ни разу удалось нормально завести свою разработку на apche, а вот на nginx все без проблем работает, т. е. это все личный опыт.

    P. S. И вот не надо мне тут, что я не умею настраивать apche, все я умею, в свое время все конфиги и все нюансы изучил пытаясь подкрутить его.

     
     
  • 4.7, Tron is Whistling (?), 09:15, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    У нгинха внезапно нет php, есть только интерфейс к fpm. На апаче тоже можно mpm_event завести и дальше mod_proxy к fpm, в итоге будет не сильно нагруженнее нгинха.

    И да, ты действительно не умеешь крутить апач.

     
     
  • 5.12, Аноним (12), 09:49, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Почему, есть, называется nginx unit, только это совсем другой продукт. Кстати довольно неплохой.
     
  • 4.15, User (??), 10:24, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нафига тебе тысячи и тысячи запросов index.html с диска? Или ты про robots.txt?
     
  • 4.32, Аноним (32), 13:13, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.netcraft.com/blog/july-2025-web-server-survey
     
     
  • 5.40, Tron is Whistling (?), 14:48, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по тому, как там отхер растёт, статистика уже не отражает действительности, те же апачи и т.п. просто не афишируют себя или находятся за балансерами, скрывающими инфру.
     
     
  • 6.64, пох. (?), 21:23, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Судя по тому, как там отхер растёт, статистика уже не отражает действительности,
    > те же апачи и т.п. просто не афишируют себя или находятся
    > за балансерами, скрывающими инфру.

    это ты щас про к@лофайр или кого импортозамещенного?

    А то балансеры в виде модных молодежных аплайансов обычно хороши корпоративную хрень какую прятать. А под нагрузкой их самих прятать приходится, а то вот... лопнуло и забрызгало меня и товарищей прессу.

    Ну и зачем нам кузнец в таком раскладе - тоже не очень понятно. Нода жеес сама себе хетететепе 2.0 модный сервер. Ну с некоторыми недостатками, но за тремя слоями прокси их видно не будет. Т.е. вполне можешь учесть то что торчит таки наружу (не ноду же ж считать) именно вебсервером. отхeр так отхeр...

     
  • 4.52, Zeke Fast (?), 18:06, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    PHP и высоконагруженное приложение уже смешно звучит! :)
    2006-2010 ещё прошло бы, но не в 2025!
     
     
  • 5.57, Аноним (-), 19:38, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    что смешного? такто сейчас бэк нередко на питонах всяких вообще а он на порядок медленней современного php
     
  • 3.14, User (??), 10:23, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нуээээ... некоторые админы (думают, что) его знают.
     
  • 3.49, freehck (ok), 17:01, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А какие есть плюсы у nginx в настоящее время?

    Я бы сказал так: какие бы плюсы ни были у альтернативных решений, им всем сопутствует потеря производительности на 20-40% относительно nginx.

     
  • 2.18, Аноним (18), 11:14, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Нгинкс всё.

    Ты сказал?

     
  • 2.19, Cyd (?), 11:31, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а чем, кстати, в этом сезоне модно раздавать статику и дергать бэкенды?
     
     
  • 3.21, пох. (?), 11:34, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    в этом сезоне немодно статику. Жизненно необходимо favicon.ico хранить в amazon s3!

     
     
  • 4.23, 12yoexpert (ok), 11:46, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    на этой неделе прячут за клаудфларью
     
  • 4.46, Аноним (46), 16:29, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А где ж ещё его хранить? На железном сервере с линуксом и сабжем? Ух, сейчас бы статические ресурсы не через cdn раздавать. Вам что, реально так нравится сервера админить?
     
  • 3.50, freehck (ok), 17:10, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > а чем, кстати, в этом сезоне модно раздавать статику и дергать бэкенды?

    Астрологи объявили неделю моды на раздачу статики через NodeJS:
    NodeJS -- даёшь по ядру на каждые 10 rps!

     
  • 2.34, bergentroll (ok), 13:19, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Современные сервера́ — это какие?
     
  • 2.71, Словарь (?), 01:36, 15/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
        ФУНКЦИОНАЛ - математическое понятие, возникшее в вариационном исчислении для обозначения переменной величины, заданной на множестве функций, т. е. зависящей от выбора одной или нескольких функций. Напр., длина дуги кривой, соединяющей две фиксированные точки, будет функционалом, т. к. величина длины дуги зависит от выбора функции, график которой соединяет эти точки.
     
     
  • 3.72, Аноним (1), 02:37, 15/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    функционал: 3. неол., комп. жарг., собир. то же, что функциональность; набор функций, возможностей, предоставляемых компьютерной программой, библиотекой функций и т. п. ◆ Первоначально эти системы создавались для предприятий, которые традиционно ведут производственную, финансовую, реже научную деятельность. В их базовом функционале отсутствуют модули, автоматизирующие основные виды деятельности вуза, связанные с образовательным процессом. «Информационная система обеспечения организационной деятельности динамично развивающегося университета», 2003 г. // «Информационные технологии» [НКРЯ]
     

  • 1.16, пох. (?), 11:05, 14/08/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.17, freehck (ok), 11:08, 14/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > предварительный выпуск модуля ngx_http_acme

    это конечно всё очень интересно, но во-первых там всего лишь http-челлендж поддерживается, а dns-челлендж в большинстве случаев куда удобнее, а во-вторых, как они себе представляют дальнейшее добавление dns-челленджей без ущерба безопасности nginx-а? Всё-таки подобные вещи лучше держать за пределами веб-сервера.

     
     
  • 2.20, пох. (?), 11:33, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    как ты себе представляешь dns-01 в веб-сервере?

    > а dns-челлендж в большинстве случаев куда удобнее

    в большинстве случаев он совершенно излишен.

    Необходимо и достаточно для 99% сайтов-однодневок автоматически получить совершенно им ненужный сертификат и так же автоматически его обновить через пол-дня согласно новым улучшенным требованиям. И всьо.

    А для обработки платежей неплохо бы хранить ключи не в /tmp с правами 666, для начала. И может быть даже, о ужас, зашифрованными и с ручной разблокировкой. Хотя, конечно, на самом деле все равно свалят в /tmp и сделают "ЧМОД" а потом еще в гитляп и шитхап закомитят для надежности. А тогда нафига было стараться и с основным сайтом-то?

     
     
  • 3.22, Аноним (22), 11:46, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    dns-01 в веб-сервере можно сделать, дергая API dns-сервера (ограничившись dns-серверами, где API есть). Тут бы вполне пригодился njs, чтобы не писать плагины на C/Rust под каждый API.
     
     
  • 4.28, пох. (?), 12:27, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    если у тебя есть доступ к этому апи у веб-мордочки - у тебя уже все плохо.

     
     
  • 5.30, Аноним (30), 13:12, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    многие думают, что апи существует для того, чтобы дергать его из любого места :)
     
     
  • 6.33, пох. (?), 13:13, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > многие думают, что апи существует для того, чтобы дергать его из любого
    > места :)

    оно потом _оказывается_ что так и есть ;-)

     
     
  • 7.35, Аноним (30), 14:16, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > оно потом _оказывается_ что так и есть ;-)

    для публичных апи может и быть, менеджмент апи - нет, сугубо приватное (изолированное от несанкционированного доступа).

     
  • 5.39, Tron is Whistling (?), 14:46, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А там не надо доступ к апи у веб-мордочки. Там надо доступ у основного процесса мордочки, юзеры в него не смотрят. Ну и даже если проломится до рута - а чего оно кроме единственного TXT подёргает-то...

    Мне больше нравится само наличие ключей от ACME в контексте вёб-мордочки, поэтому я эти механизмы не использую вообще, генерацией сертификатов занимается совершенно отдельный сервис, который как раз DNS может подёргать, и уже потом их апдейтит в вебню.

     
     
  • 6.42, Аноним (30), 14:52, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > занимается совершенно отдельный сервис

    разделение труда :) эй нджинкс, завари ка чаю

     
  • 5.60, Аноним (60), 21:04, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    есть такая штука, как разные права доступа для разных api keys
     
  • 3.25, Tron is Whistling (?), 11:53, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > как ты себе представляешь dns-01 в веб-сервере?

    Да элементарно, можно таки dynamic update подёргать. Тот же вайлдкард без dns-01 не выпихать.

     
     
  • 4.27, пох. (?), 12:27, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Да элементарно, можно таки dynamic update подёргать.

    я бы предпочел чтобы веб-сервер таки не имел доступа ни к каким dynamic updates. И вот особенно - основного домена самого веб-сервера (авторам идеи надо было бы кол в бошку вбить за то что они не додумались выделить субдомен для своих игрищ и еще и запихали запрещенный символ в имя записи)

    > Тот же вайлдкард без dns-01 не выпихать.

    тот же вайлдкард низачем и не нужен при автоматизированном получении стольких сертификатов сколько душа жаждет.
    Он был нужен прежде всего чтобы сэкономить усилия (и еще немножечко вредить). А машина - она железная.

     
     
  • 5.37, Tron is Whistling (?), 14:43, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ды ладно, why not. Разрешить вот конкретный _acme_challenge TXT подёргать - невелика беда. Тем более, что это не в контексте пользователя в том же апаче будет дёргаться, а в контексте основного процесса.

    > тот же вайлдкард низачем и не нужен при автоматизированном получении стольких сертификатов

    Сейчас если лучшая идиотская идея в виде срока жизни в 30 дней пройдёт - уже будет нужен...


     
     
  • 6.38, Tron is Whistling (?), 14:44, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    // в менее 30 дней
     
  • 6.63, пох. (?), 21:13, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ды ладно, why not. Разрешить вот конкретный _acme_challenge TXT подёргать

    А потом выяснится что где-то ошипка...
    Или подергать могут что-то не то, или подергать может не тот, или оба сразу.

    > Сейчас если лучшая идиотская идея в виде срока жизни в 30 дней
    > пройдёт - уже будет нужен...

    наоборот, поскольку придется отказываться от неавтоматических обновлений и надежных ключей - низачем станет не нужен. Раз уж оно все внутри и под контролем самого веб-сервера - то пусть на каждый домен получает, включая никому ненужные редиректилки ru.www.com -> www.com/ru
    Инфры этих троянских коней совсем ведь не жаль.


     
  • 5.41, Аноним (30), 14:50, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > я бы предпочел чтобы

    я помню времена когда бинд (нейм сервер) и апач на одном сервере крутились :)))))

     
     
  • 6.62, пох. (?), 21:08, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> я бы предпочел чтобы
    > я помню времена когда бинд (нейм сервер) и апач на одном сервере
    > крутились :)))))

    только вот крутились они так что доступов у одного к другому не было.

    (они и сейчас там у тебя крутятся, только под капотом модных-современных-кластерных-контейнерных тяп-ляпнологий ты об этом узнаешь когда-нибудь после)

     
     
  • 7.66, Аноним (30), 21:34, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > ты об этом узнаешь когда-нибудь после

    чур меня чур, не дожить бы до этого дня

     
  • 5.44, freehck (ok), 15:38, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > тот же вайлдкард низачем и не нужен при автоматизированном получении стольких сертификатов сколько душа жаждет

    Ровно до тех пор, пока ты не захочешь, чтобы домен не светился в логах Certificate Transparency.

     
  • 5.48, penetrator (?), 16:53, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да да вайлдкард не нужен, зато теперь нужен SNI

    усилия, бугага

     
     
  • 6.69, пох. (?), 00:58, 15/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > да да вайлдкард не нужен, зато теперь нужен SNI

    так он в любом случае теперь нужен

     
  • 3.45, freehck (ok), 16:05, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> а dns-челлендж в большинстве случаев куда удобнее
    > в большинстве случаев он совершенно излишен...

    ...там, где работает полтора землекопа.

    А что, если у тебя домен для приватной сети, и торчать в мир он в принципе не должен?
    А что, если ты хочешь выставить в мир домен, но ты не хочешь, чтобы мир об этом домене узнал?
    А что, если тебе нужно выписать сертификат в kubernetes, ingress-контроллер которого находится за балансером с proxy-protocol-ом? (см. [1])

    Чтобы не страдать в описанных выше случаях -- возьмите себе на вооружение сразу и для всего использовать DNS-01.

    [1] https://github.com/compumike/hairpin-proxy?tab=readme-ov-file#the-problem

     
     
  • 4.61, пох. (?), 21:05, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>> а dns-челлендж в большинстве случаев куда удобнее
    >> в большинстве случаев он совершенно излишен...
    > ...там, где работает полтора землекопа.
    > А что, если у тебя домен для приватной сети, и торчать в
    > мир он в принципе не должен?

    а днс для этой приватной сети мы гордо выснуем в мир, что может пойти не так, действительно? (и зачем такому домену сертификаты летшиткрипта? У таких сетей есть обычно свои pki, может даже не одна. Там еще и сертификаты на приватные ip адреса иногда нужны.)

    > А что, если ты хочешь выставить в мир домен, но ты не
    > хочешь, чтобы мир об этом домене узнал?

    и тут такой dns-сервачок встроенный прям в вебмордочку...

    > Чтобы не страдать в описанных выше случаях -- возьмите себе на вооружение
    > сразу и для всего использовать DNS-01.

    нет, спасибо. Я как раз категорически воздержусь от его использования где бы то ни было.
    acme дыряв бай дизайн в ста местах, но ЭТО делает его еще в разы дырявее.

    В тех случаях (редких, и тебе не понравится для чего) где мне нужен wildcard, он будет коммерческий, благо пока доступен, и, к счастью, пока его не надо обновлять раз в три дня.

     
     
  • 5.65, freehck (ok), 21:25, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какой-то сервачок в вебмордочку поставить, собственный PKI намутить...
    Не, чур меня с этим спорить.
     
  • 5.68, Аноним (60), 00:38, 15/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну, в том редком случае (публичный хостинг) я написал на golang сервис, который через внутреннее апи powerdns-а кроме как этот самый acme challenge TXT менять, ничего и не умеет, и его и дергал из... кажется, это был acme.sh

    по большому счету, оба способа кривые (для dns-01 можно было бы какой-нибудь _acme делегировать на отдельные нсы, а http-01 это вечные проблемы курица vs яйцо), но лучше так, чем ручками ходить платить за сертифицированный воздух

     
     
  • 6.70, пох. (?), 01:00, 15/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > ну, в том редком случае (публичный хостинг) я написал на golang сервис,
    > который через внутреннее апи powerdns-а кроме как этот самый acme challenge

    ну да, он же у тебя никак не был связан с веб-сервером. А тут прямо в код сервера пихают и считают что так и нада.

    > по большому счету, оба способа кривые

    увы.


     
  • 3.53, Аноним (53), 18:18, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >как ты себе представляешь dns-01 в веб-сервере?

    Я другой аноним, но отвечу на вопрос.

    Представляю его:
    - либо [через встроенный DNS-сервер](https://angie.software/angie/docs/configuration/acme/#angie-acme-config-dns),
    - либо через [хук](https://angie.software/angie/docs/configuration/modules/http/http_acme/#angie-), например, к acme.sh
    - либо через [обращение по API к DNS-провайдеру](https://doc.traefik.io/traefik/https/acme/#providers)  

     
     
  • 4.59, пох. (?), 20:59, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    то есть надо "встраивать" в веб-сервер еще целый dns сервер и обеспечивать ему открытую дверь во весь интернет? Со всем набором адских днсных проблем. (причем рецепт от agnie, как я подозреваю, кривой. В in ns работает то же ограничение что и в in a - я об этом упоминал в исходном сообщении, что это факап авторов нескучного акме)
    acme.sh тебе проще по крону запустить без ненужных хуков - и с гарантией что запустится acme.sh а не подсунутое васяном троянское нечто.
    > либо через [обращение по API к DNS-провайдеру]

    то есть мы даем вебсерверку доступ к нашему dns. Здорово, что может пойти не так?

     
     
  • 5.67, Аноним (30), 21:39, 14/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > то есть мы даем вебсерверку доступ к нашему dns. Здорово, что может пойти не так?

    если собственный нейм сервер (отдельный) с одной зоной, то разницы нет ломанули веб сервер или днс сервер (условно, банальный сайт), так что доступ еще можно дать.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру