выпуск основной ветки , в рамках которой продолжается развитие новых возможностей (в параллельно поддерживаемой стабильной вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей.
Основные :
- Добавлена директива , которая активирует режим пробного запуска, в котором не применяются ограничения на интенсивность обработки запросов (без rate limit), но продолжается учёт выходящего за лимиты числа запросов в разделяемой памяти;
- При использовании в блоке настроек «upstream» директивы «» для организации балансировки нагрузки с привязкой клиента к серверу, в случае указания пустого значения ключа теперь активируется режим равномерной балансировки (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 синтаксиса и для привязки свойства объекта к функции, например:
var o = {a:2};
Object.defineProperty(o, ‘b’, {get:function(){return 2*this.a}});
Источник: opennet.ru
