The OpenNET Project / Index page

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

Доступен nginx 1.25.0 с экспериментальной поддержкой HTTP/3

23.05.2023 22:01

Представлен первый выпуск новой основной ветки nginx 1.25.0, в рамках которой будет продолжено развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.24.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.25.x будет сформирована стабильная ветка 1.26.

Новый выпуск примечателен добавлением модуля ngx_http_v3 с экспериментальной поддержкой протокола HTTP/3. Модуль отключён по умолчанию и для активации при сборке требует указания опции "--with-http_v3_module". Для работы модуля рекомендуется сборка с криптографическими библиотеками, поддерживающими протокол QUIC, такими как BoringSSL, LibreSSL или QuicTLS. При сборке с OpenSSL будет задействован слой для обеспечения совместимости, в котором не поддерживается ранняя отправка данных клиентом (ssl_early_data).

HTTP/3 определяет использование протокола QUIC (Quick UDP Internet Connections) в качестве транспорта для HTTP/2. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных.

Дополнительно можно отметить выпуск сервера приложений NGINX Unit 1.30.0, в рамках которого развивается решение для запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0.

В новой версии NGINX Unit добавлена поддержка перезаписи входящих URI в процессе маршрутизации запроса; предоставлена возможность вычисления значений при определении конфигурации, используя модули и функции JavaScript; реализована поддержка вывода в лог диагностических сообщений приложений и отладочных данных о маршрутизации запросов.

  1. Главная ссылка к новости (https://mailman.nginx.org/pipe...)
  2. OpenNews: Выпуск nginx 1.24.0
  3. OpenNews: Протокол HTTP/3.0 получил статус предложенного стандарта
  4. OpenNews: Первый выпуск Angie, форка Nginx от разработчиков, ушедших из компании F5
  5. OpenNews: Выпуск nginx 1.9.5 с поддержкой HTTP/2
  6. OpenNews: Предварительный выпуск nginx с поддержкой QUIC и HTTP/3
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59186-nginx
Ключевые слова: nginx, http3
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (50) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:14, 23/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что на это ответит Angie?
     
     
  • 2.3, Шарп (ok), 22:29, 23/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    git cherry-pick
     
     
  • 3.56, Аноним (56), 18:46, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не знаю какой из тебя айтишник, но петросян так себе
     
  • 3.74, Аноним (-), 20:04, 25/05/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.2, Аноним (2), 22:22, 23/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на нем получится написать websocket-приложение на node.js? встроенным модулям доверия нет, а тут пацаны знают что делают, прошаренные
     
     
  • 2.22, Golangdev (?), 02:23, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как Golangdev я рекомендую использовать Traefik. В нём нет проблем с вебсокетами.

    Также - он хорошо работает с докером/облаками/кубером, то что нгинкс давал только в платной версии и хз, юзабельно ли, тут это бесплатно.

     
  • 2.32, Аноним (2), 10:38, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Отвечая на свой вопрос: можно, но вебсокеты вроде бы всё равно реализованы на яваскрипте, а не в самом nginx unit. Причем просто форкнули 4 года назад библиотеку websocket, и больше ее вообще не трогали.

    > Node.js: introducing websocket support.
    > 4 years ago

    https://github.com/nginx/unit/tree/master/src/nodejs/unit-http

    Страшновато.

     
  • 2.41, Аноним (41), 13:24, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Nginx он как Жигуль. Ты его подкрутишь вроде едет, работает. Но круиз контроль или слежение за дорогой ты в нем никогда не получишь.
     
     
  • 3.57, noc101 (ok), 18:54, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Готовить не умеешь его.
     
  • 3.63, Аноним (63), 01:49, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Радует в общем-то, что лет через 5 ты уже не будешь ни водить жигуль, ни вебсерверы запускать - роботом заменят.
     
  • 3.64, Аноним (-), 02:15, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет. Nginx он как Жигуль. Ты его подкрутишь вроде едет, работает.

    Его подкручивать надо 1 раз в жизни, в отличие от. Потом он просто работает. Конфиг 12-летней давности до сих пор, вот, заводится.

    > Но круиз контроль или слежение за дорогой ты в нем никогда не получишь.

    Это как? Там все есть. Получше чем у многих других. Но для начала - должно ехать. И с нормальной скоростью. Это оно точно умеет. В отличие от всякой лабуды типа опача. Зачем мне круиз контроль если драндулет с проржавевшим двиглом более 5 км/ч не выжимает? В таком виде вообще возня с ним того не стоит.

     
  • 2.71, Аноним (71), 13:47, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем понятно в чем вопрос? nginx тебе может сделать проксирование начального http запроса со всеми нужными хедерами, а потом всего что пойдет дальше по websocket соединению. Еще можешь настроить tls, чтобы соединяться по wss://

    Дальше работает твое приложение хоть на node.js, хоть на Си, это неважно.

    Но главное, при чем тут HTTP/3? В вебсокет приложении обычно только один http запрос - начальный, для установления websocket соединения.

     
     
  • 3.72, Капитан Очевидность (?), 17:45, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по всему пациент спрашивал про Unit, а не про nginx
    Какой-то альтернативно одаренный персонаж же в хвост новости засунул еще текст про  Unit
     

  • 1.5, Аноним (5), 22:32, 23/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Очень хорошо, однако нет возможности собрать с gnutls. Также не очень понятно, как пробрасывать UDP через него.
     
  • 1.6, Аноним (6), 22:44, 23/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    HTTP3 != HTTP 3.0
     
     
  • 2.16, Капитан Очевидность (?), 23:48, 23/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    http/3, так что шутка не вышла
     
     
  • 3.30, Аноним (30), 08:58, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    HTTP/3 = HTTP 0.333...
     
     
  • 4.65, Аноним (-), 02:18, 25/05/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.7, Аноним (7), 23:03, 23/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Отлично! На своих сервисах давно выключил HTTP/1.x скоро дело и за HTTP/2.
     
     
  • 2.8, Аноним (8), 23:32, 23/05/2023 [^] [^^] [^^^] [ответить]  
  • +15 +/
    > На своих сервисах давно

    Да на локалхосте вообще без разницы, можешь не париться.

     
  • 2.17, Капитан Очевидность (?), 23:55, 23/05/2023 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Понимаю, что бесполезно о чем-то серьезном писать опеннетовским клоунам, но все ... большой текст свёрнут, показать
     
     
  • 3.24, Аноним (-), 04:16, 24/05/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.27, Аноним (27), 06:32, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Все что ниже http/2 и правда давно можно отрубать

    Чтобы что? С какой целью?

     
     
  • 4.34, Капитан Очевидность (?), 11:14, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что бы не поддерживать то, что не используется
    Отключение того, что не используется уменьшает периметр атак
    Но ты о таком не слышал, да?
     
     
  • 5.36, Аноним (41), 11:19, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Атак на твой мозг рептилоидами с Нибиру? Тем тебе не http надо отключать, а шапочку из фольги надевать.
     
     
  • 6.66, Аноним (-), 03:15, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    HTTP 1 с своими текстовыми заголовками дает неиллюзорный attack surface, особенн... большой текст свёрнут, показать
     
  • 6.68, Капитан Очевидность (?), 10:19, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Атак на твой мозг рептилоидами с Нибиру? Тем тебе не http надо
    > отключать, а шапочку из фольги надевать.

    Говорил один умный еврей не метать перед вами жемчуг, но ок, в трех классах ЦПШ ты этого учить не мог, это да

    Смотри. У тебя есть веб-сервер. Он торчит наружу портами, потому что он - веб-сервер. И вот у тебя в нем есть реализации протоколов http/0.9, http/1.0, http/1.1 и http/2
    Это все разный код, потому что прокотолы разные
    В каждом потенциально есть уязвимости, переполнения буферов и прочее, никто не идеален

    И вот ты набрав статистику видишь, что у тебя валидные клиенты ходят только по http/2, а по старым протоколам ходят только какие-то кривые боты

    Что произойдет если ты выключишь поддержку старых протоколов? Да еще и зарубишь обращения по ним на WAF? У тебя уменьшиться периметр атаки, так как ты перестал использовать кучу старого необслуживаемого кода, но при этом у тебя все прекрасно с доступом для валидных клиентов, потому что они ходят по http/2

     
  • 4.75, дартвейдер337 (?), 10:07, 27/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вкусный смузи? Веганский это без гмо?
     
  • 2.18, Аноним (18), 00:00, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +8 +/
    можешь вообще отключить свой сервис. Выростет уровень безопасности, в плане посещаемости ничего не изменится :)
     
  • 2.20, Ilya Indigo (ok), 00:42, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И как к тебе гугло-яндо боты попадают?
     
     
  • 3.26, Аноним (41), 05:58, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что им там делать если там один динамический контент?
     
  • 3.33, Капитан Очевидность (?), 11:13, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    HTTP/2.0" 200 161512 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)

    Они ходят по 2, а не по 0.9, как думают местные мамкины крякеры

     
     
  • 4.37, Ilya Indigo (ok), 11:31, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > HTTP/2.0" 200 161512 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
    > Они ходят по 2, а не по 0.9, как думают местные мамкины крякеры

    Что же вы так самокритично?



    200 "GET /robots.txt HTTP/1.1" 25 - - - "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
    200 "GET /favicon.png HTTP/1.1" 860 - - - "Mozilla/5.0 (compatible; YandexFavicons/1.0; +http://yandex.com/bots)"





    200 "GET /robots.txt HTTP/1.1" 25 - - - "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    200 "GET / HTTP/1.1" 1733 - - - "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    200 "GET /css/style.css HTTP/1.1" 1734 - - - "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/106.0.5249.119 Safari/537.36"
    200 "GET / HTTP/1.1" 1733 - - - "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    404 "GET /favicon.ico HTTP/1.1" 153 - - - "Googlebot-Image/1.0"
    200 "GET / HTTP/1.1" 1733 - - - "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    200 "GET /favicon.png HTTP/1.1" 860 - - - "Googlebot-Image/1.0"
    200 "GET /favicon.png HTTP/1.1" 860 - - - "Googlebot-Image/1.0"
    404 "GET /favicon.ico HTTP/1.1" 153 - - - "Googlebot-Image/1.0"


    У меня только bing заходит по 2.0, все остальные по 1.1.

     
     
  • 5.69, Капитан Очевидность (?), 10:22, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > У меня только bing заходит по 2.0, все остальные по 1.1.

    Скорее всего проблема у тебя с http/2
    Пробовали заходить, не смогли, отметили, что у тебя только 1.1 работает и ходят по нему

    У меня 10 проектов совершенно разной направленности, везде поисковые боты ходят по http/2

     
  • 2.31, Аноним (30), 08:58, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ...А потом и за HTTP/3 :-)
     

  • 1.21, Аноним (21), 01:45, 24/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > нгинкс

    Разве оно ещё не устарело? Что сейчас модно-молодёжно и смузи-вэй?

     
     
  • 2.23, Golangdev (?), 02:27, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    См. мой коммент выше. Омоложение и захлеб смузи гарантирую %)
     
  • 2.25, Аноним (41), 05:57, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    nginx до сих пор не умеет делать реверс прокси для http/2. Он устарел как мамонт. HAProxy, Traefik наше всё.
     
     
  • 3.29, Аноним (29), 08:06, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Умеет

    https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

     
     
  • 4.35, Аноним (41), 11:17, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Там ни слово про HTTP/2 ты просто так ссылку дал не читая? Возьми HTTP/2 сервис и зареверсься на него через nginx и ничего не будет работать.
     
  • 3.39, Аноним (39), 13:07, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем?
    http/2 без tls бессмысленен. А если reverse proxy проксирует с tls, то либо вы - cloudflare, либо явно делаете какую-то чушь.
     
     
  • 4.40, Аноним (41), 13:21, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Например для разработки и внутренних сервисов. Есть готовые продукты которые уже http/2 only. Тем более та же HAProxy отлично работает для данных задач. И лишних глупых вопросов не задаёт. Так что nginx остался далеко в прошлом его функционал как веб сервера уже давно остановился в развитии.
     
     
  • 5.70, Капитан Очевидность (?), 10:30, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Например для разработки и внутренних сервисов. Есть готовые продукты которые уже http/2
    > only. Тем более та же HAProxy отлично работает для данных задач.
    > И лишних глупых вопросов не задаёт. Так что nginx остался далеко
    > в прошлом его функционал как веб сервера уже давно остановился в
    > развитии.

    Чувак, с функциями веб-сервера у него, как раз, все идеально
    Работает, как швейцарские часы
    Реверс-прокси же это не функция веб-сервера, а то ты так еще сквид объявишь веб-сервером

     
  • 2.28, Аноним (28), 07:54, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Envoy proxy. Но его еще нужно научиться конфигурировать ибо по сравнению с nginx его конфиг выглядит как космический корабль.
     
     
  • 3.38, rshadow (ok), 12:59, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно Istio взять чтоб все "из коробки" было.
     
  • 3.55, Аноним (55), 18:44, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > конфиг выглядит как космический корабль

    Уже не проблема когда есть chatgpt.

     
     
  • 4.67, Аноним (-), 03:18, 25/05/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.60, Аноним (39), 19:46, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конфиг там соответствует его внутреннему устройству, как и в nginx. Если не apt install и копипаст, а хотя бы 15 минут почитать документацию, то никаких проблем.
     

  • 1.58, Аноним (58), 19:40, 24/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Обновился но не работает директива http3_push_preload on; ее переименовали или убрали кто знает?
     
     
  • 2.73, Аноним (6), 19:34, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Пуши же закопали. Или это только для второго HTTP было?
     

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



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

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