Выпуск сервера дадаткаў 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"
    }
    }

  • Падтрымка дробавых значэнняў вагі сервераў у блокахуверх па плыні“. Напрыклад, канструкцыю з цэлымі шалямі, якая разумее перанакіраванне на 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

Дадаць каментар