Die Veröffentlichung des Anwendungsservers NGINX Unit 1.24 fand statt, im Rahmen dessen eine Lösung entwickelt wird, die den Betrieb von Webanwendungen in verschiedenen Programmiersprachen (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js und Java) ermöglicht. Unter der Verwaltung von NGINX Unit können mehrere Anwendungen in verschiedenen Programmiersprachen gleichzeitig ausgefĂŒhrt werden, deren Startparameter dynamisch geĂ€ndert werden können, ohne dass eine Anpassung von Konfigurationsdateien oder ein Neustart erforderlich ist. Der Code ist in C geschrieben und wird unter der Apache 2.0-Lizenz veröffentlicht. Die Besonderheiten von NGINX Unit können im AnkĂŒndigung des ersten Releases nachgelesen werden.
In der neuen Version:
- Die KompatibilitÀt mit Ruby 3.0 wurde sichergestellt.
- PHP wurde zur Liste der Standard-MIME-Typen hinzugefĂŒgt.
- Die Möglichkeit wurde bereitgestellt, beliebige TLS-Verbindungseinstellungen ĂŒber OpenSSL-Befehle festzulegen.
- UnterstĂŒtzung fĂŒr die BeschrĂ€nkung der Verarbeitung statischer Dateien basierend auf MIME-Typen hinzugefĂŒgt. Beispielsweise kann zur BeschrĂ€nkung der ausgegebenen Dateien nur auf Bilder und Videos Folgendes angegeben werden: { "share": "\/www\/data", "types": [ "image\/*", "video\/*" ] }
- Die Möglichkeit zur Anwendung von chroot, zur Blockierung der Verwendung symbolischer Links und zum Verbot des Ăberquerens von EinhĂ€ngepunkten wurde fĂŒr einzelne Anfragen bei der Bereitstellung statischer Dateien implementiert. { "share": "\/www\/data\/static\/", "chroot": "\/www\/data\/", "follow_symlinks": false, "traverse_mounts": false }
- Ein Ladeprogramm wurde hinzugefĂŒgt, um die Module "http" und "websocket" in Node.js automatisch zu ĂŒberschreiben.
- FĂŒr Python wurde die Möglichkeit bereitgestellt, in der Konfiguration mehrere Abschnitte "targets" fĂŒr die Definition verschiedener Aufrufschemata von WSGI/ASGI-Handlern in einer Anwendung anzugeben. { "applications": { "python-app": { "type": "python", "path": "\/www\/apps\/python-app\/", "targets": { "foo": { "module": "foo.wsgi", "callable": "foo" }, "bar": { "module": "bar.wsgi", "callable": "bar" } } } } }
Quelle: opennet.ru
