Wydanie nginx 1.21.2 i njs 0.6.2

Została wydana główna gałąź nginx 1.21.2, w ramach której kontynuowany jest rozwój nowych funkcjonalności (w równolegle obsługiwanej stabilnej gałęzi 1.20 wprowadzane są jedynie zmiany związane z eliminacją poważnych błędów i podatności).

Główne zmiany:

  • Żądania HTTP/1.0 zawierające nagłówek HTTP „Transfer-Encoding” są blokowane (pojawiły się w wersji protokołu HTTP/1.1).
  • Zakończono obsługę pakietu szyfrów eksportowych.
  • Zapewniona jest kompatybilność z biblioteką OpenSSL 3.0.
  • Zaimplementowano przesyłanie nagłówków „Auth-SSL-Protocol” i „Auth-SSL-Cipher” do serwera uwierzytelniania proxy poczty.
  • API filtrowania treści żądania umożliwia buforowanie przetwarzanych danych.
  • Podczas ładowania certyfikatów serwera skorygowano wykorzystanie poziomów bezpieczeństwa obsługiwanych od wersji OpenSSL 1.1.0 i określonych za pomocą parametru „@SECLEVEL=N” w dyrektywie ssl_ciphers.
  • Naprawiono zawieszanie się, które występowało podczas tworzenia połączenia SSL z backendami w modułach strumienia i gRPC.
  • Rozwiązano problem z zapisem treści żądania na dysk przy użyciu protokołu HTTP/2, w przypadku braku nagłówka „Content-Length” w żądaniu.

W tym samym czasie wydano njs 0.6.2, interpreter JavaScript dla serwera WWW Nginx. Interpreter njs implementuje standardy ECMAScript i pozwala rozszerzyć możliwości nginx w zakresie przetwarzania żądań za pomocą skryptów w konfiguracji. Skrypty mogą być użyte w pliku konfiguracyjnym do zdefiniowania zaawansowanej logiki przetwarzania żądań, generowania konfiguracji, dynamicznego generowania odpowiedzi, modyfikowania żądania/odpowiedzi lub szybkiego tworzenia kodów pośredniczących w celu rozwiązywania problemów w aplikacjach internetowych. W nowej wersji do implementacji Promise dodano metody Promise.all(), Promise.allSettled(), Promise.any() i Promise.race(). Zaimplementowano obsługę obiektu AggregateError.

Źródło: opennet.ru

Dodaj komentarz