Издание nginx 1.17.9 и njs 0.3.9

Създадено издание на главния клон nginx 1.17.9, в рамките на което продължава развитието на нови възможности (в паралелно поддържан стабилен клон 1.16 въвеждат се само промени, свързани с отстраняването на сериозни грешки и уязвимости).

Основни промени:

  • Забранено указването на няколко реда «Host» в
    заглавката на заявката;
  • Отстранена е грешка, при която nginx игнорираше допълнителни редове
    «Transfer-Encoding» в заглавката на заявката;
  • Внесени са поправки, които предотвратяват изтичане на сокети при използване на протокола HTTP/2;
  • Отстранен е краш (segmentation fault) на работния процес, проявяващ се при използване на OCSP stapling;
  • Внесени са поправки в модула ngx_http_mp4_module;
  • Решен е проблем в случаите, когато при пренасочване на грешки с код 494 чрез директивата ‘error_page’ може да се връща отговор с код 494 вместо 400;
  • Отстранени са изтичания на сокети при използване на подзаявки в модула njs и директивата aio.

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

В новото издание в модула njs добавена е поддръжка на режима на открепени заявки в r.subrequest(). Отговорите на открепените подзаявки биват игнорирани. В отличие от обикновените подзаявки, открепената подзаявка може да бъде създадена в рамките на обработчика на променливата. Също така:

  • Добавен е API Promises за модула «fs»;
  • В модула «fs» са добавени функциите access(), symlink(), unlink(),
    realpath() и подобни;
  • Введени са ефективни от гледна точка на паметта обикновени масиви;
  • Внесени са подобрения в lexer;
  • Внесено е поправка в съвпадението на родни функции в обратно проследяване (backtraces).
    следите;
  • Поправени са обратно повикванията в модула «fs»;
  • Внесени са поправки в Object.getOwnPropertySymbols();
  • Отстранено е преливането на буфера в динамичната памет в njs_json_append_string();
  • Внесена е поправка в encodeURI() и decodeURI() съгласно спецификацията;
  • Внесена е поправка в Number.prototype.toPrecision();
  • Внесена е поправка в обработката на аргумента за интервал в JSON.stringify();
  • Внесена е поправка в JSON.stringify() с обекти Number() и String();
  • Обезпечено е екранирането на символи Unicode в JSON.stringify() съгласно
    спецификацията;
  • Внесена е поправка в импорта на не родни модули;
  • Внесено изменение в njs.dump() с экземпляром Date() в контейнере.

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster