Le serveur d'applications NGINX Unit 1.27.0 a été publié, dans le cadre duquel une solution pour le lancement d'applications web dans divers langages de programmation (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js et Java) est développée. Sous NGINX Unit, plusieurs applications peuvent fonctionner simultanément dans différents langages de programmation, les paramètres de lancement pouvant être modifiés dynamiquement sans avoir à modifier les fichiers de configuration ni à redémarrer. Le code est écrit en C et distribué sous la licence Apache 2.0. Les spécificités de NGINX Unit peuvent être découvertes dans l'annonce de la première version.
Dans la nouvelle version :
- Ajout de la possibilité d'utiliser des variables et des valeurs vides dans la directive « location », liées aux actions « return ».
- Le redirectionnement des requêtes HTTP vers HTTPS a été simplifié. Une nouvelle variable $request_uri a été ajoutée, contenant l'URI de la requête, qui peut être utilisée pour définir une route comme paramètre de la directive « location » à l'intérieur du bloc « action » : { « listeners » : { « *:443 » : { « tls » : { « certificate » : « example.com » }, « pass » : « routes » }, « *:80 » : { « pass » : « routes » } }, « routes » : [ { « match » : { « scheme » : « http » }, « action » : { « return » : 301, « location » : « https://${host}${request_uri} » } } ]
- Il est maintenant possible de configurer un nom de fichier, différent de index.html, qui sera retourné lors de l'accès en indiquant uniquement le répertoire (par exemple, site.com/cms/). « routes » : [ { « match » : { « uri » : « /cms/* » }, « action » : { « share » : « /var/cms$uri », « index » : « default.html » } }, { « action » : { « share » : « /var/www$uri » } } ]
- Pour Ruby Rack, une variable d'environnement « SCRIPT_NAME » a été mise en place.
- Compatibilité assurée avec GCC 12.
Source : opennet.ru
