Випуск сервера програм 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

Додати коментар або відгук