Wydanie nginx 1.17.9 i njs 0.3.9

uformowany wydanie wstępne nginx 1.17.9, w ramach którego kontynuowany jest rozwój nowych możliwości (równolegle wspierane stabilnie oddział 1.16 Dokonywane są jedynie zmiany związane z eliminacją poważnych błędów i podatności).

Głównym zmiany:

  • Zabronione jest określanie wielu linii „Host” w
    nagłówek żądania;

  • Naprawiono błąd, w wyniku którego nginx ignorował dodatkowe linie
    „Transfer-Encoding” w nagłówku żądania;

  • Wprowadzono poprawki zapobiegające wyciekom gniazd podczas korzystania z protokołu HTTP/2;
  • Naprawiono błąd segmentacji w procesie roboczym występujący podczas korzystania ze zszywania OCSP;
  • Wprowadzono poprawki w module ngx_http_mp4_module;
  • Rozwiązano problem polegający na tym, że podczas przekierowania błędów z kodem 494 przy użyciu dyrektywy „error_page” mogła zostać zwrócona odpowiedź z kodem 494 zamiast 400;
  • Naprawiono wycieki gniazd podczas korzystania z podzapytań w module njs i dyrektywie aio.

Dodatkowo można to zauważyć problem njs 0.3.9, 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 moduł njs dodał obsługę trybu żądania odłączonego w r.subrequest(). Odpowiedzi na odłączone podzapytania są ignorowane. W przeciwieństwie do zwykłych podzapytań, odłączone podzapytanie można utworzyć wewnątrz procedury obsługi zmiennych. Również:

  • Dodano obietnice API dla modułu „fs”;
  • Do modułu „fs” dodano funkcje access(), symlink(), unlink().
    realpath() i podobne;

  • Wprowadzono zwykłe tablice, wydajne pod względem zużycia pamięci;
  • Wprowadzono ulepszenia w leksykonie;
  • Wprowadzono poprawkę do mapowania funkcji natywnych w śladach wstecznych.
    ślady;

  • Naprawiono wywołania zwrotne w module „fs”;
  • Wprowadzono poprawki do Object.getOwnPropertySymbols();
  • Naprawiono przepełnienie bufora sterty w njs_json_append_string();
  • Naprawiono encodeURI() i decodeURI(), aby były zgodne ze specyfikacją;
  • Naprawiono Number.prototype.toPrecision();
  • Naprawiono obsługę argumentu spacji w JSON.stringify();
  • Poprawiono JSON.stringify() z obiektami Number() i String();
  • Zapewniono ucieczkę znaków Unicode w JSON.stringify() zgodnie z
    ze specyfikacją;

  • Wprowadzono poprawkę dotyczącą importu modułów nienatywnych;
  • Naprawiono funkcję njs.dump() z instancją Date() w kontenerze.

Źródło: opennet.ru

Dodaj komentarz