Публикувана версия на сървъра за приложения NGINX Unit 1.27.0, в която се развива решение за стартиране на уеб приложения на различни програмни езици (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлението на NGINX Unit могат да работят едновременно няколко приложения на различни програмни езици, параметрите на стартиране на които могат да се променят динамично без необходимост от промяна на конфигурационните файлове и рестартиране. Кодът е написан на C и се разпространява под лицензия Apache 2.0. С особеностите на NGINX Unit можете да се запознаете в анонса на първото издание.
В новата версия:
- Добавена е възможността за използване на променливи и празни стойности в директивата «location», свързани с действията «return».
- Оптимизирано е пренасочването на HTTP заявки към HTTPS. Добавена е нова променлива $request_uri, която съдържа URI на заявката, която може да се използва при определянето на маршрута като параметър на директивата «location» в блока «action»: { «listeners»: { «*:443»: { «tls»: { «certificate»: «example.com» }, «pass»: «routes» }, «*:80»: { «pass»: «routes» } }, «routes»: [ { «match»: { «scheme»: «http» }, «action»: { «return»: 301, «location»: «https://${host}${request_uri}» } } ]
- Осигурена е възможност за настройка на име на файл, различно от index.html, което ще бъде предоставено при заявка с посочване на само директория (например, site.com/cms/). «routes»: [ { «match»: { «uri»: «/cms/*» }, «action»: { «share»: «/var/cms$uri», «index»: «default.html» } }, { «action»: { «share»: «/var/www$uri» } } ]
- За Ruby Rack е реализирано задаване на променлива на средата «SCRIPT_NAME».
- Осигурена е съвместимост с GCC 12.
Източник: opennet.ru
