Nieuwe versies van nginx 1.27.5, de fork FreeNginx 1.27.6 en de JavaScript-module njs 0.8.10

De release van de hoofdversie nginx 1.27.5 is gepresenteerd, waarin de ontwikkeling van nieuwe mogelijkheden doorgaat. In de parallel ondersteunde stabiele tak 1.26.x worden alleen wijzigingen aangebracht die verband houden met het oplossen van ernstige fouten en kwetsbaarheden. In de toekomst zal op basis van de hoofdversie 1.27.x een stabiele tak 1.28 worden gevormd. De code van het project is geschreven in de programmeertaal C en wordt verspreid onder de BSD-licentie.

Onder de wijzigingen in nginx 1.27.5:

  • Voor verbindingen die het QUIC-protocol gebruiken, is ondersteuning toegevoegd voor het algoritme CUBIC (RFC 9438) voor netwerkoverbelastingsbeheer. Dit algoritme vergroot geleidelijk de grootte van het congestievenster tot er pakketverlies optreedt, waarna de grootte van het venster terugvalt naar de waarde vóór het verlies. In uitgevoerde tests heeft het gebruik van CUBIC de overdrachtstijd van een bestand van 500 MB met 24% verminderd bij een vertraging van 40 ms en BDP 750K (Bandwidth Delay Product), en met 73% bij een vertraging van 100 ms en BDP 9M.
  • De maximale grootte van in gedeeld geheugen opgeslagen SSL-sessies is verhoogd tot 8192.
  • De bouw met de C-bibliotheek Musl is geoptimaliseerd.
  • Er is gewerkt aan prestatie-optimalisatie en bugfixes in de implementatie van HTTP/3.
  • Fouten in de implementatie van de richtlijnen "grpc_ssl_password_file", "proxy_ssl_password_file" en "uwsgi_ssl_password_file" zijn opgelost, die zich voordeden bij het laden SSL-certificaten en encryptiesleutels uit variabelen.
  • Problemen met het instellen van de variabelen $ssl_curve en $ssl_curves bij het gebruik van inplugbare implementaties van elliptische krommen in OpenSSL zijn verholpen.

Daarnaast kan de publicatie van de stabiele versies van het FreeNginx-project 1.27.5 en 1.27.6 worden opgemerkt, dat een fork van Nginx ontwikkelt. De ontwikkeling van de fork wordt geleid door Maxim Dunin, een van de sleutelontwikkelaars van Nginx. FreeNginx wordt gepresenteerd als een non-profitproject dat de ontwikkeling van de Nginx-codebasis waarborgt zonder corporate interferentie.

Wijzigingen in FreeNginx 1.27.5 en 1.27.6:

  • Problemen met het gebruik van OpenSSL 3.5 zijn opgelost (de groepsnaam X25519MLKEM768 werd niet weergegeven in de variabelen $ssl_curve en $ssl_curves).
  • Een crash van de werkprocessen in configuraties met de richtlijn proxy_ssl_password_file is opgelost, die zich voordeed bij het specificeren van variabelen in de richtlijnen proxy_ssl_certificate en proxy_ssl_certificate_key.
  • Ondersteuning voor de parameter multipath is toegevoegd aan de richtlijn listen.
  • Hergebruik van SSL-sessies tussen servers die verschillende certificaten in de richtlijn ssl_trusted_certificate gebruiken, is verboden bij inschakeling van de controle van client-SSL-certificaten.
  • Een probleem met het hergebruiken van sessies in de context van een ander is opgelost virtuele servers bij het gebruik van TLSv1.3 met OpenSSL 1.1.1e+.
  • Een probleem bij het gebruik van zlib-ng is opgelost.

Bovendien is njs 0.8.10 uitgebracht, een module voor de integratie van JavaScript-interpreters in de http-server nginx. Ondersteuning voor verbindingen met verschillende JavaScript-engines. Als basis wordt de eigen QuickJS-engine aangeboden met ondersteuning voor de ECMAScript 2023-norm. Njs maakt het mogelijk om JavaScript-scripts in de configuratie te gebruiken om de mogelijkheden van nginx uit te breiden. Scripts kunnen worden gebruikt voor het definiƫren van geavanceerde logica voor verzoekverwerking, het opstellen van configuraties, dynamische generatie van antwoorden, aanpassing van verzoeken/antwoorden of het snel creƫren van stubben voor probleemoplossing in webapplicaties.

Wijzigingen in njs 0.8.10:

  • Ondersteuning voor de WebCrypto API, TextEncoder en TextDecoder is toegevoegd aan de QuickJS JavaScript-engine.
  • Nieuwe modules querystring, crypto en xml zijn toegevoegd aan de QuickJS-engine.
  • Ondersteuning voor de QuickJS-NG-bibliotheek is toegevoegd.
  • In de nginx-module is het mogelijk gemaakt om de inhoud van r.requestText en r.requestBuffer uit een tijdelijk bestand te lezen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster