The OpenNET Project / Index page

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

Выпуск nginx 1.13.4

08.08.2017 22:16

Доступен новый выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.13.4, в котором реализованы следующие изменения:

  • В состав добавлен модуль mirror, позволяющий зеркалировать поступающие запросы на другие серверы. Клиенту возвращается результат обработки запроса от основного обработчика, а результаты, возвращённые зеркалируемыми бэкендами, игнорируются. При помощи зеркалирования можно достаточно просто организовать работу синхронно обновляемого резервного сервера для таких сайтов, как web-форумы;
  • Решена проблема с обрывом соединений при выполнении операции тестирования корректности конфигурации на платформе Linux, в случае использовании опции "reuseport" в директиве "listen";
  • Решена проблема с недоступностью тела запроса для подзапросов, если используется проксирование и в процессе заполнения кэша осуществлена запись в файл;
  • Улучшена поддержка платформы Windows: налажена работа чистки кэша в соответствии с лимитом, заданным через параметр "max_size", решены проблемы с выделением разделяемой памяти и устранён крах процессов-обработчиков при использовании директивы "zone" в блоке "upstream".


  1. Главная ссылка к новости (http://mailman.nginx.org/piper...)
  2. OpenNews: Выпуск http-серверов Apache 2.4.27, nginx 1.13.3 и 1.12.1
  3. OpenNews: Выпуск nginx 1.13.2
  4. OpenNews: Релиз HTTP-сервера nginx 1.12.0
  5. OpenNews: Уязвимость в LibreSSL, затрагивающая механизм проверки TLS-сертификатов в nginx
  6. OpenNews: Выпуск nginx 1.13.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46989-nginx
Ключевые слова: nginx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:08, 08/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    mirror, хорошая идея, интересно для вебсокета работает?
     
     
  • 2.2, Анан (?), 23:54, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    По секрету скажу, что оно и до этого существовало (недокументировая опция была), но работало весьма себе. Большие клиенты, похоже, решили надавить, а Сысоев/Бартенев/и_ко решили сразу опенсурцнуть. Для websocket маловероятно, что заведётся — это ж, по сути, stream proxy получается. Запрос/параметры/тело/ответ не различить.
     
     
  • 3.3, RomanCh (ok), 01:22, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вы про костыль с post_action, или существовал именно mirror?
     
     
  • 4.24, Андрейка (ok), 16:33, 14/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Именно post_action http://mailman.nginx.org/pipermail/nginx/2012-November/036199.html

    Не знаю почему он костыль? Как по мне модуль делает тоже самое (особенно если сравнить код)

     

  • 1.5, istepan (ok), 07:44, 09/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Улучшена поддержка платформы Windows

    Пустая трата времени и ресурсов.

     
     
  • 2.6, A.Stahl (ok), 08:57, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну и кто ты такой чтобы осуждать их за то, как они проводят своё время?
     
     
  • 3.8, istepan (ok), 09:44, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не, ну если хотят поддерживать платформу на которую ставят их софт от силы 5% от общего числа.

    Вообще интересно было бы глянуть статистику nginx по ОС.

     
     
  • 4.9, Аноним (-), 10:01, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Если у тебя в ЦОД-е есть поддерживаемый сервер на WS и ты можешь запустить на нём то что считаешь нужным здесь и сейчас(для внутреннего использования к примеру) или у тебя есть перспектива погрязнуть в бюрократии выбивая себе "правильный" сервер, то что ты выберешь, при этом понимая что находишься на этапе разработки прототипа который взлетит с вероятностью 10-20%?
     
     
  • 5.11, istepan (ok), 11:05, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Подниму виртуалку и запущу nginx в нормальном для него окружении.
     
     
  • 6.15, . (?), 18:36, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Подниму виртуалку и запущу nginx в нормальном для него окружении.

    молодец, теперь тебе надо поддерживать в рабочем и актуальном состоянии и виртуалку, и ее хост. И зачем ты это сделал, если можно было просто запустить nginx на хосте, ась?

     
     
  • 7.17, Агроном (?), 02:13, 10/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это лучше, чем поддерживать разрабатывать на платформе с одними нюансами поведения, а эксплуатировать с другими.
    Хинт: под виндой и линухом не все работает одинаково.
     
  • 4.16, пох (?), 18:40, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще интересно было бы глянуть статистику nginx по ОС.

    что-то мне подсказывает, что она бесполезна - там, где используют nginx из под винды, все равно на выходе стоит либо nginx'овый фронтенд, либо какой-нибудь appliance, и хрен ты узнаешь, сколько их было и каких.

    то есть статистика в данном случае - всего лишь очень большая ложь.

     

  • 1.7, unknown (??), 09:40, 09/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лучше бы healthcheck допилили в opensource
     
     
  • 2.12, Аноним (-), 13:59, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Иж чего захотел, если вырос до такой степени что тебе он нужен, заплати денежку. Хотя как вариант можешь им написать и по клянчить на халяву.
     

  • 1.10, Аноним (-), 10:36, 09/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Поддержку brotli никак не хотят осилить. Даже статику, по аналогии с gzip_static. Малюсенький патчик https://trac.nginx.org/nginx/ticket/798
    То ли денег за это хотят, то ли ...
     
     
  • 2.14, . (?), 18:35, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    то ли нафиг никому оно не надо.
    (ну, может, кроме гугля, но он уже и сам о себе позаботился - и если потом окажется, что посадил какую-нибудь out-of-bounds непосредственно в библиотеке (в коде nginx вряд ли) - ломанут гугля, а не всех счастливчиков - и тухлые помидоры гуглю)
    Смысл всех этих .gz давным-давно в прошлом, каналы безразмерные (или бездонные?), а вот cpu всегда не хватает. К тому же большая часть так-называемого-веб-контента сегодня несжимаема.

    (страдания гугля и cloudflare оставим, пусть страдают дальше)

     
     
  • 3.18, Аноним (-), 12:59, 10/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, не стоит говорить за всех сразу. Не все сидят на оптике, есть "счастливые" обладатели мобильного инета со слабым сигналом или в забитом под завязку эфире. И тогда скачать 4 метра или 5 - разница существенная.
    Никаких уязвимостей не будет - если речь про brotli_static - просто отдавать файл.br если он есть на диске, разве что будет лишний вызов stat.
    И проц не просядет, распаковке бротли жрёт примерно столько же, сколько и gzip.
    http://www.gstatic.com/b/brotlidocs/brotli-2015-09-22.pdf
     
     
  • 4.21, . (?), 13:53, 10/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > И тогда скачать 4 метра или 5 - разница существенная.

    существенная, только на самом деле разница будет 50 или 40 килобайт, и то, если ты читаешь сайт газеты "правда".
    Ну есть же девтулзы и network в них - открой да и посмотри на объемы скачиваемого.

    1. графические элементы оформления (даже на опеннете - логотип, реклама, кнопки)
    1a. шрифты... впрочем, они все равно с fonts.google.com
    2. (содержательные, не оформление) графика и видео внутри страницы, если сайт чуть современней опеннета
    это несжимаемо вообще
    3. скрипты и css'ы - те, кто страдают от лишнего траффика, давно уже a) все обообфусцировали до минимума, b) саутсорсили куда-то в rawgit, если нельзя напрямую из cdn jquery/гугля/амазона/тыщи их и все равно оно на их сервер с их бролтем даже и не полагается c) вообще-то по хорошему оно должно кэшироваться, и дальше if-modified-since дело все равно не заходит, вечная беда горе-вебдизайнера, приходится добавлять к имени файла какой-нибудь мусор, чтобы, наоборот, избежать кэша
    то есть оно во-первых, плохосжимаемо в принципе, во-вторых, выгода от сжатия микроскопическая на фоне управляющего траффика - даже если раздавать по-старинке, с собственного сервера, а это совсем немодно.

    и вот где-то вот ту-у-у--ут мы наконец-то докопались до собственно .html, который мог бы быть и .br (хм-хм, а часто тебе попадает совсем статический html?) , но смысл? Его-то килобайты, а счетчик траффика у тебя уже мегабайты насчитал (а чаще десятки).

    гугл и какой-нибудь факбук - отдельная песня, но они-то уже о себе позаботились, включая и продавливание поддержки во все браузеры, у них для этого есть ресурсы.

     

  • 1.13, Аноним (13), 16:56, 09/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не собирается из исходников с модулем ngx_pagespeed(
     
  • 1.19, Аноним (-), 13:48, 10/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Про mirror может кто нибудь более внятно объяснить?
     
     
  • 2.20, Аноним (-), 13:49, 10/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Что оно вообще делает?
     
     
  • 3.22, пох (?), 14:01, 10/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Что оно вообще делает?

    делает дублирование запроса на миррорящие серверы.
    То есть на твой GET myHorseporn.jpg?token=1343525626 с server1 делает такой же GET с server2,3 и 4. Результат выбрасывает в /dev/null (тебе уже ответил server1), но сервера 2,3 и 4 думают, что ты к ним за этим зашел (и если на такой get внутри должна была сработать какая-то небанальная механика - она срабатывает).

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

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

     
     
  • 4.23, XoRe (ok), 18:01, 10/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё помогает дублировать боевые запросы на сервер разработчиков.
    Так можно мучить новую сборку боевыми запросами.
     

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



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

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