The OpenNET Project / Index page

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

Выпуск nginx 1.17.1 и njs 0.3.3

26.06.2019 08:50

Доступен выпуск основной ветки nginx 1.17.1, в рамках которой продолжается развитие новых возможностей (в параллельно поддерживаемой стабильной ветке 1.16 вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей.

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

  • Добавлена директива limit_req_dry_run, которая активирует режим пробного запуска, в котором не применяются ограничения на интенсивность обработки запросов (без rate limit), но продолжается учёт выходящего за лимиты числа запросов в разделяемой памяти;
  • При использовании в блоке настроек "upstream" директивы "hash" для организации балансировки нагрузки с привязкой клиента к серверу, в случае указания пустого значения ключа теперь активируется режим равномерной балансировки (round-robin);
  • Устранён крах рабочего процесса при использовании кэша в сочетании с директивой "image_filter" и перенаправлением обработчика кода ошибки 415 с использованием директивы "error_page";
  • Устранён крах рабочего процесса, проявляющийся при использовании встроенного интерпретатора Perl.

Дополнительно можно отметить выпуск njs 0.3.3, интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript и позволяет расширять возможности nginx по обработке запросов с помощью скриптов в конфигурации. Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях.

В новом выпуске njs устранены проблемы, выявленные в ходе fuzzing-тестирования. Реализована глобальная переменная "process" c параметрами и переменными окружения текущего процесса (process.pid, process.env.HOME и т.п.). Обеспечена возможность записи во все встроенные свойства и метод. Добавлена реализация Array.prototype.fill(). Реализована поддержка предложенного в ECMAScript 5 синтаксиса getter и setter для привязки свойства объекта к функции, например:


   var o = {a:2};
   Object.defineProperty(o, ‘b’, {get:function(){return 2*this.a}});


  1. Главная ссылка к новости (http://mailman.nginx.org/piper...)
  2. OpenNews: Выпуск сервера приложений NGINX Unit 1.9.0
  3. OpenNews: Выпуск nginx 1.17.0 и njs 0.3.2
  4. OpenNews: Сделка по покупке NGINX компанией F5 Networks успешно завершена
  5. OpenNews: Релиз nginx 1.16.0
  6. OpenNews: Доступен HTTP-сервер Caddy 0.9
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50967-nginx
Ключевые слова: nginx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Иван (??), 09:07, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Тут пишут, что nginx не нужен уже есть caddy https://engineering.hashnode.com/after-4-years-with-nginx-we-switched-to-caddy
     
     
  • 2.3, RusCheat (?), 09:37, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +13 +/
    это у которого реклама в HTTP заголовках и включенная по умолчанию телеметрия?
     
     
  • 3.13, Ключевский (?), 17:31, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет у него ни рекламы в заголовках, ни телеметрии по дефолту. Реклама была, но когда их в это ткнули они шустро убрали. Телеметрию они предлагают включить, но все в твоих руках
     
     
  • 4.20, Аноним (20), 08:46, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Но предлагают и предлагают... И всё настаивают.
     
     
  • 5.22, Ключевский (?), 12:34, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Но предлагают и предлагают... И всё настаивают.

    Где настаивают?

    curl https://getcaddy.com | bash -s personal http.cache,http.expires,http.ipfilter,http.minify,http.ratelimit,http.realip,http.reauth,tls.dns.cloudflare,tls.dns.digitalocean,tls.dns.vultr

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

     
  • 2.4, Andrey Mitrofanov_N0 (??), 09:47, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Тут пишут, что nginx не нужен уже есть caddy

    Сандип Панда рекомендует!
        Строишь свой "multi-tenant app (aka SaaS product)"?  Счастье есть!
            Бесплатно для бузинесов -- просто собери из исходника.
        Go[lang] во все поля  --  не думай, просто копай!
    Вот прям всё ssl-tls A+/100% искарпопки  --  не жди, звони прямо сейчас.

     
     
  • 3.6, Аноним (6), 10:57, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    сейчас наш ВиПи Раджа Кумар вам позвонит, не покидайте помещения!
     
  • 3.9, Ой (?), 12:43, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну дак у него даже в ссылке есть краткое содержание текста:
    https://sandeep.dev/how-i-built-a-cdn-for-our-multi-tenant-app-within-a-day-cj (внимание на последние символы)

    [сообщение отредактировано модератором]

     
  • 2.5, Анон444 (?), 10:49, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Nginx сможет заменить только то, что умеет .htaccess искаропки, caddy этого не умеет, а следовательно не нужен.
     
     
  • 3.10, KonstantinB (ok), 13:40, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Да что вы все с этим htaccess-ом заладили.
    Единственное, где он нужен - это узкая ниша shared hosting.
     
  • 3.23, Ключевский (?), 12:39, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Nginx сможет заменить только то, что умеет .htaccess искаропки, caddy этого не
    > умеет, а следовательно не нужен.

    htaccess нужен только мамкиным крякерам, которые юзают гайды возрастом по 15 лет и не хотят сами ни в чем разбираться. По данным netcarft в июне nginx обогнал наконец-то apache и теперь статистика такова:

    Nginx 32.97%
    Apache 28.08%
    IIS 15.39%

    Остальные в районе погрешности

     
     
  • 4.24, пох. (?), 16:46, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тебе осталось угадать, сколько из этих nginx являются безмозглыми фронтендами к тому же самому апачу.
    (настроенными такими же безмозглыми экземплярами)

     
     
  • 5.25, Ключевский (?), 17:36, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если ты посмотришь на цифры, то ты увидишь, что nginx стабильно рос вытесняя прежде всего IIS, а не Apache. Вплоть до того, что в прошлом месяце практически совпадает процент отвалившийся у IIS и процент приросший у nginx.

    А ставить фронтами к апачу давно перестали, это опять же разве что макаки нашедшие инструкции которым по 10 лет делают. nginx с php-fpm работает в разы эффективней дохлого индейца

     
     
  • 6.28, пох. (?), 12:12, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А ставить фронтами к апачу давно перестали, это опять же разве что
    > макаки нашедшие инструкции которым по 10 лет делают. nginx с php-fpm
    > работает в разы эффективней дохлого индейца

    боюсь что как раз твои инструкции устарели лет на десять. Да и тогда были написаны кем-то малограмотным.
    php-fpm самое больное место во всей конструкции, явных преимуществ по сравнению с apache+mod_php он не имел, во всяком случае, во времена 5.6 (верю что в 7 могли и модуль испортить), и создавал совершенно ненужные проблемы пользователям.

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

     
  • 5.26, KonstantinB (ok), 11:48, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А смысл сейчас так делать? Если уж нужен апач, в нем давно есть event mpm.
     
     
  • 6.27, пох. (?), 12:07, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > А смысл сейчас так делать? Если уж нужен апач, в нем давно
    > есть event mpm.

    боюсь что от замены форков тредами никакого видимого глазу выигрыша получить не удастся - "тут всю систему менять надо".

     
     
  • 7.32, KonstantinB (ok), 14:16, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    так в event не треды, там примерно как в nginx - epoll и fsm (не настолько вылизано, конечно)
     
     
  • 8.33, пох. (?), 16:23, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ну в общем - мерять надо Что-то мне подсказывает, что с отдачей статики nginx в... текст свёрнут, показать
     
     
  • 9.34, Аноним (34), 23:00, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно, как их подружить Тут будут ровно те же проблемы, что и со встраива... текст свёрнут, показать
     
     
  • 10.37, пох. (?), 11:22, 01/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    значит, нинужна htaccess в котором не работают php-специфичные команды вызовет ... текст свёрнут, показать
     
  • 8.36, Аноним (36), 08:40, 01/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Оно там и близко не как в nginx Оно там только для keep-alive соединений ... текст свёрнут, показать
     
     
  • 9.38, пох. (?), 11:22, 01/07/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а что у нас сегодня НЕ keep-alive ... текст свёрнут, показать
     
     
  • 10.39, Аноним (36), 15:30, 01/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, уточню Для неактивных keep-alive соединений Как только поступает запро... текст свёрнут, показать
     
     
  • 11.40, пох. (?), 22:07, 01/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ну для виндоюзеров это, конечно, трагедия, но в линухе-то fork бесплатен, по иде... текст свёрнут, показать
     
  • 6.35, anonnn (?), 01:56, 01/07/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    только от этого он меньше форкаться не стал
    апачу уже ничего не поможет

    от евентовой модели там одно название

     
  • 2.14, Ключевский (?), 17:34, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Из любопытства держу его на паре личных проектов. Для коммерческих не подходит. Если я приду к клиенту с идеей платить за веб-сервер 25 баксов в месяц, учитывая что сейчас все работает идеально без такой оплаты, то клиент пошлет меня к такой-то матери и я останусь без клиента.
    Так что для личных проектов, а так же для всяких веб-разработчиков, которые не в состоянии приготовить nginx он может и подходит, для коммерческого использования никак нет
     
     
  • 3.19, KonstantinB (ok), 06:20, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Про сервер за 25 баксов не понял: он что, такой "производительный"?

    nginx у меня на ARM-пукалке за 3 евро прекрасно справляется с раздачей статики под "полочку" в 100 mbps. Единственная проблема была с тем, что проца немного не хватало на tls handshakes, но с массовым переходом на http/2 проблемы не стало.

     
     
  • 4.21, Ключевский (?), 12:32, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я тоже не понимаю за что они хотят $25 в месяц.
    Как я уже сказал я могу понять его использование для личных проектов и туповатыми веб-девелоперами, примитивный конфиг и https на A+ это удобно. Но в продакшене ему явно не место, тем более за 25 баксов в месяц с сервера.
     

  • 1.7, vitalif (ok), 11:05, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ща допилят njs 1.0.0 и перепишут на него сам nginx, видимо
     
  • 1.8, Аноним (8), 12:26, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    acme из коробки еще не умеет?

    Мы посидим на божественном Traefik.io

     
     
  • 2.11, KonstantinB (ok), 15:57, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А смысл? acme v2 все равно удобнее с dns-ами (а для wildcard это вообще единственный способ).
     
  • 2.15, Ключевский (?), 17:34, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А сертификаты он получает святым духом?
     

  • 1.12, НяшМяш (ok), 16:50, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Надеюсь, njs в будущем будет способен выпилить nodejs хотя бы в части задач.
     
     
  • 2.16, Аноним (16), 22:32, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Такого не произойдет, во первых V8 разрабатывается умными людьми, а во вторых тут задачи другие.
     
  • 2.18, Аноним (18), 01:48, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Надеюсь ты все же перечитаешь доку и поймешь для чего нужен njs.
     

  • 1.17, Аноним (18), 23:31, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну все. Открыли ящик пандоры - написание своего js интерпретатора.
     
  • 1.41, Жасур (?), 05:40, 01/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Получит пропуск
     
  • 1.42, Жасур (?), 05:41, 01/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Получит прорусе
     

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



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

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