The OpenNET Project / Index page

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

Выпуск nginx 1.21.2 и njs 0.6.2

31.08.2021 23:08

Сформирован выпуск основной ветки nginx 1.21.2, в рамках которой продолжается развитие новых возможностей (в параллельно поддерживаемой стабильной ветке 1.20 вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей).

Основные изменения:

  • Обеспечена блокировка запросов HTTP/1.0, включающих HTTP-заголовок "Transfer-Encoding" (появился в версии протокола HTTP/1.1).
  • Прекращена поддержка экспортного набора шифров.
  • Обеспечена совместимость с библиотекой OpenSSL 3.0.
  • Реализована передача заголовков "Auth-SSL-Protocol" и "Auth-SSL-Cipher" серверу аутентификации почтового прокси.
  • В API фильтрации тела запроса разрешена буферизация обрабатываемых данных.
  • При загрузке сертификатов сервера налажено использование уровней безопасности, поддерживаемых начиная с OpenSSL 1.1.0 и задаваемых через параметр "@SECLEVEL=N" в директиве ssl_ciphers.
  • Устранены зависания, проявляющиеся при создании SSL-соединения к бэкендам в модулях stream и gRPC.
  • Решена проблема с записью на диск тела запроса при использовании HTTP/2, в случае отсутствия в запросе заголовка "Content-Length".

Одновременно состоялся выпуск njs 0.6.2, интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript и позволяет расширять возможности nginx по обработке запросов с помощью скриптов в конфигурации. Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях. В новой версии в реализацию Promise добавлены методы Promise.all(), Promise.allSettled(), Promise.any() и Promise.race(). Реализована поддержка объекта AggregateError.

  1. Главная ссылка к новости (https://mailman.nginx.org/pipe...)
  2. OpenNews: Выпуск nginx 1.21.1
  3. OpenNews: Выпуск сервера приложений NGINX Unit 1.24.0
  4. OpenNews: Выпуски nginx 1.21.0 и 1.20.1 с устранением уязвимости
  5. OpenNews: Релиз nginx 1.20.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55714-nginx
Ключевые слова: nginx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, FortyTwo (ok), 23:30, 31/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >В новой версии в реализацию Promise добавлены методы

    Джва года ждал!

     
     
  • 2.11, А (??), 20:51, 01/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > быстрого создания заглушек с решением проблем в web-приложениях.

    АААААААААААААА!!!! :))))))))))))

    :(

     
     
  • 3.18, Аноним (-), 07:22, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Каноничный эксплойт на регэксп таки вроде ааааааааааааааааааа!
     

  • 1.2, Аноним (2), 00:12, 01/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Жду интерпретатора nrust
     
     
  • 2.3, Enamel (ok), 00:28, 01/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто используй Actix
     
     
  • 3.17, Аноним (17), 02:44, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде все же уже с ним ... Ушел разработчик в запой
     
  • 2.10, Аноним (10), 20:29, 01/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Жду

    Это ты ждун, что ли?

     

  • 1.5, Аноним (5), 09:51, 01/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Ооо открытый проприетарный продукт от F5 еще жив...
     
  • 1.6, Какаянахренразница (ok), 14:00, 01/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Зачастили как-то релизы nginx-а...
     
     
  • 2.9, Аноним (10), 20:28, 01/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пора менять версию на 121
     
  • 2.19, Аноним (-), 07:24, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по
    > Прекращена поддержка экспортного набора шифров.
    > Обеспечена блокировка запросов HTTP/1.0, включающих HTTP-заголовок "Transfer-Encoding"

    они наконец тоже заметили что хакеры умеют даунгрейдить шифры TLS и прикалываться над конвертацией HTTP2 в HTTP1. При том первое они умеют уже много лет.

     

  • 1.7, Аноним (-), 18:36, 01/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сысоев не БЗДун!
     
  • 1.12, onanim (?), 22:01, 01/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >  Прекращена поддержка экспортного набора шифров.

    https://github.com/nginx/nginx/commit/9e4e7a4e4202b5b61b785998e143c6ae0a39883c

    Export ciphers are forbidden to negotiate in TLS 1.1 and later protocol modes.
    They are disabled since OpenSSL 1.0.2g by default unless explicitly configured
    with "enable-weak-ssl-ciphers", and completely removed in OpenSSL 1.1.0.

     
  • 1.13, Аноним (13), 13:50, 02/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень странное решение писать свою реализацию js. Есть же Nginx lua
     
     
  • 2.14, anonnn (?), 16:38, 02/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    lua далеко не всем знаком, в js же сейчас только ленивый не умеет
    во вторых, lua модуль в nginx от китайцев, а тут ребята хотят сделать более нативный и вписывающийся в концепции nginx
     
     
  • 3.24, Аноним (24), 18:27, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Люди привыкли к браузерному js или nodejs. Тут же нет никакого привычного api и только голый ecmascript. На таком уровне Luna даже проще.
     
  • 2.15, Аноним (15), 00:04, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    nginx lua - это один большой костыль.

    Например, файл ngx_http_lua_subrequest.c чуть более чем полностью состоит из копипасты из http-модуля, и по сути дублирует функциональность subrequest-ов из http-модуля с вкраплениями своего кода.

    Поскольку все это - не часть инфраструктуры nginx-модулей, а приватное api, с каждым изменением внутри nginx это все ломается, потому там все это обросло еще и пачкой ifdef-ов на версию nginx. Вот, например, прекрасное:

    https://github.com/openresty/lua-nginx-module/commit/2b930872105829111296818ed

    Я на таком строить production как-то не готов.

     
     
  • 3.16, Аноним (15), 00:13, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    При этом можно было бы сказать, что, вот, у nginx такой фиговый api, добавили бы нужное.

    Однако в njs при решении ровно тех же задач прекрасно обходятся "наследованием" (да, это чистый C, но по смыслу это ООП-шное наследование) от стандартного http-модуля:

    https://hg.nginx.org/njs/file/68f8f7ead0fc/nginx/ngx_http_js_module.c#l3054

    Просто китайцы не очень разобрались в архитектуре nginx.

     
     
  • 4.20, Аноним (-), 07:31, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    hg настолько не тормозит, что, оказывается, файлик посмотреть - роботов проверяют.

    Robots not allowed or you should enable javascript and cookies.

    спасибо что не гуглокапча, бжад!!!

     
     
  • 5.21, Аноним (21), 10:49, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это не hg (там нечему тормозить в этом месте), это снаружи навешанная простейшая защита от ddos. Видимо, были проблемы такого рода.
     
     
  • 6.22, Аноним (21), 10:52, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А дидосили, ясен пень, не просмотром файлика, а запросом diff-ов или stat-ов. Это и в git, и в hg тяжелая операция.
     
  • 3.23, Аноним (24), 18:25, 03/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А что мешает nginx inc самим встроить lua, вместо того, чтобы писать ещё одну реализацию js?
     
     
  • 4.25, Аноним (25), 11:53, 04/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Любой встраиваемый язык - это своя виртуальная машина с конечным автоматом, управляемая событиями. Но nginx и есть конечный автомат, управляемый событиями. Пристраивать рядом второй и пытаться их друг с другом подружить - это заведомо неэффективно и костылеобразно.

    А если уж писать своё, то какая разница, какой язык? JS выбрали как более распространённый.

     
     
  • 5.26, Аноним (26), 20:35, 09/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Lua намного меньше и проще и почти не развивается (что плюс для него). В Js напротив постоянно что-то добавляется, да и легаси много.
     

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



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

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