Sortie de nginx 1.17.9 et njs 0.3.9

Formé version en amont nginx 1.17.9, au sein duquel se poursuit le développement de nouvelles capacités (en parallèle soutenu stable branche 1.16 Seules les modifications liées à l'élimination des erreurs graves et des vulnérabilités sont apportées).

principal changements:

  • Il est interdit de spécifier plusieurs lignes « Host » dans
    en-tête de requête ;

  • Correction d'un bug où nginx ignorait les lignes supplémentaires
    "Transfer-Encoding" dans l'en-tête de la requête ;

  • Des correctifs ont été apportés pour éviter les fuites de socket lors de l'utilisation du protocole HTTP/2 ;
  • Correction d'une erreur de segmentation dans le processus de travail qui se produit lors de l'utilisation de l'agrafage OCSP ;
  • Des corrections ont été apportées au module ngx_http_mp4_module ;
  • Résolution d'un problème dans les cas où lors de la redirection d'erreurs avec le code 494 à l'aide de la directive « error_page », une réponse avec le code 494 pouvait être renvoyée au lieu de 400 ;
  • Correction de fuites de socket lors de l'utilisation de sous-requêtes dans le module njs et de la directive aio.

De plus, on peut noter question njs 0.3.9, un interpréteur JavaScript pour le serveur Web nginx. L'interpréteur njs implémente les normes ECMAScript et vous permet d'étendre la capacité de nginx à traiter les requêtes à l'aide de scripts dans la configuration. Les scripts peuvent être utilisés dans un fichier de configuration pour définir une logique avancée pour traiter les demandes, générer une configuration, générer dynamiquement une réponse, modifier une demande/réponse ou créer rapidement des stubs pour résoudre des problèmes dans les applications Web.

Dans la nouvelle version, le module njs a ajouté la prise en charge du mode de requête détaché dans r.subrequest(). Les réponses aux sous-requêtes détachées sont ignorées. Contrairement aux sous-requêtes classiques, une sous-requête détachée peut être créée dans un gestionnaire de variables. Aussi:

  • Ajout de promesses API pour le module "fs" ;
  • Les fonctions access(), symlink(), unlink(), ont été ajoutées au module « fs ».
    realpath() et similaire ;

  • Des tableaux ordinaires, efficaces en termes de consommation de mémoire, ont été introduits ;
  • Des améliorations ont été apportées à Lexer ;
  • Un correctif a été apporté au mappage des fonctions natives dans les backtraces.
    traces;

  • Correction des appels de rappel dans le module « fs » ;
  • Des corrections ont été apportées à Object.getOwnPropertySymbols();
  • Correction d'un débordement de tampon de tas dans njs_json_append_string();
  • Correction de encodeURI() et decodeURI() pour se conformer à la spécification ;
  • Correction de Number.prototype.toPrecision();
  • Correction de la gestion de l'argument espace dans JSON.stringify();
  • Correction de JSON.stringify() avec les objets Number() et String() ;
  • Fourni l'échappement des caractères Unicode dans JSON.stringify() selon
    avec spécification ;

  • Un correctif a été apporté à l'import de modules non natifs ;
  • Correction de njs.dump() avec une instance Date() dans le conteneur.

Source: opennet.ru

Ajouter un commentaire