Nginx 1.17.1 жана njs 0.3.3 чыгаруу

Жеткиликтүү жогору чыгаруу Дүйнөлүк жөргөмүш 1.17.1, анын алкагында жаңы мүмкүнчүлүктөрдү өнүктүрүү улантылууда (параллель колдоого алынган туруктуу филиал 1.16 Олуттуу каталарды жана кемчиликтерди жоюуга байланыштуу гана өзгөртүүлөр киргизилет.

негизги өзгөрүүлөр:

  • Директива кошулду limit_req_dry_run, сурамдарды иштеп чыгуунун интенсивдүүлүгүнө эч кандай чектөөлөр колдонулбаган (чендик чектөөсүз), бирок жалпы эстутумдагы чектен ашкан суроо-талаптардын санын эске алууну уланткан сыноо режимин иштеткен;
  • "жогорку" орнотуулар блогунда "жогорку агым" директивасын колдонуудаташтанды» жүктөө балансын кардар-сервер байланыштыруу менен уюштуруу үчүн, эгерде сиз бош ачкычтын маанисин көрсөтсөңүз, азыр бирдиктүү тең салмактуулук режими (тегерек-робин) иштетилди;
  • Кэшти "image_filter" директивасы менен айкалыштырып колдонууда жана "error_page" директивасын колдонуу менен 415 ката кодун иштетүүчүгө багыттоодо иш процессинин бузулушу оңдолду;
  • Камтылган Perl котормочусун колдонууда пайда болгон иш процессинин бузулушу оңдолду.

Мындан тышкары, белгилей кетүү керек өзгөртүүлөр жана толуктоолор менен njs 0.3.3, nginx веб сервери үчүн JavaScript котормочу. njs котормочу ECMAScript стандарттарын ишке ашырат жана nginxтин конфигурациядагы скрипттерди колдонуу менен суроо-талаптарды иштетүү мүмкүнчүлүгүн кеңейтүүгө мүмкүндүк берет. Скрипттерди конфигурация файлында суроо-талаптарды иштеп чыгуу, конфигурацияны түзүү, динамикалык түрдө жоопту түзүү, суроо-жоопту өзгөртүү, же веб-тиркемелердеги көйгөйлөрдү чечүү үчүн тез тилкелерди түзүү үчүн колдонсо болот.

Njs жаңы релизинде fuzzing тестирлөө учурунда аныкталган көйгөйлөр оңдолот. Учурдагы процесстин параметрлери жана чөйрө өзгөрмөлөрү (process.pid, process.env.HOME ж.б.) менен глобалдык өзгөрмө "процесс" ишке ашырылды. Бардык камтылган касиеттерди жана ыкмаларды жазууга болот. Array.prototype.fill() ишке ашыруу кошулду. ECMAScript 5те сунушталган синтаксисти колдоо ишке ашырылды алуучу и белгилөөчү объекттин касиетин функцияга байлоо үчүн, мисалы:

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

Source: opennet.ru

Комментарий кошуу