04.12.2023

Выпуск сервера приложений NGINX Unit 1.24.0

Состоялся выпуск сервера приложений NGINX Unit 1.24, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска.

В новой версии:

  • Обеспечена совместимость с Ruby 3.0.
  • В список MIME-типов по умолчанию добавлен PHP.
  • Предоставлена возможность задания произвольных настроек TLS-соединений через команды OpenSSL.
  • Добавлена поддержка ограничения обработки статических файлов на основе MIME-типов. Например, для ограничения отдаваемых файлов только изображениями и видео, можно указать:
     { "share": "/www/data", "types": [ "image/*", "video/*" ] } 
  • Реализована возможность применения chroot, блокирования использования символических ссылок и запрета пересечения точек монтирования в привязке к отдельным запросам при отдаче статических файлов.
     { "share": "/www/data/static/", "chroot": "/www/data/", "follow_symlinks": false, "traverse_mounts": false }
    
  • Добавлен загрузчик для автоматического переопределения модулей «http» и»websocket» в Node.js.
  • Для Python предоставлена возможность указания в конфигурации нескольких секций «targets» для определения разных схем вызова обработчиков WSGI/ASGI в одном приложении.
     { "applications": { "python-app": { "type": "python", "path": "/www/apps/python-app/", "targets": { "foo": { "module": "foo.wsgi", "callable": "foo" }, "bar": { "module": "bar.wsgi", "callable": "bar" } } } } }
    

Источник.