Выпуск сервера приложений NGINX Unit 1.17.0

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

В новой версии:

  • Возможность использования выражений «return» и «location» в блоках «action» для немедленного возвращения произвольного кода возврата или перенаправления на внешний ресурс. Например, для запрета доступа к URI, подпадающих под маску «*/.git/*», или перенаправления на хост с www можно использовать следующие настройки:

    {
    «match»: {
    «uri»: «*/.git/*»
    },

    «action»: {
    «return»: 403
    }
    }

    {
    «match»: {
    «host»: «example.org»,
    },

    «action»: {
    «return»: 301,
    «location»: «https://www.example.org»
    }
    }

  • Поддержка дробных значений веса серверов в блоках «upstream«. Например, конструкцию с целыми весами, подразумевающую перенаправление на 192.168.0.103 в два раза меньшего числа запросов, чем для остальных:

    {
    «192.168.0.101:8080»: {
    «weight»: 2
    },
    «192.168.0.102:8080»: {
    «weight»: 2
    },
    «192.168.0.103:8080»: { },
    «192.168.0.104:8080»: {
    «weight»: 2
    }
    }

    теперь можно привести к более простой и логичной форме:

    {
    «192.168.0.101:8080»: { },
    «192.168.0.102:8080»: { },
    «192.168.0.103:8080»: {
    «weight»: 0.5
    },
    «192.168.0.104:8080»: { }
    }

  • Решены проблемы со сборкой в DragonFly BSD;
  • Исправлена ошибка, приводившая к выводу кода 502 «Bad Gateway» при высокой нагрузке;
  • Исправлена утечка памяти в router, проявляющаяся начиная с выпуска 1.13.0;
  • Устранены несовместимости с некоторыми приложениями Node.js.

Источник: opennet.ru

Добавить комментарий