Wydanie nginx 1.17.9 i njs 0.3.9

Uformowane wydanie głównej gałęzi nginx 1.17.9, w ramach której kontynuowany jest rozwój nowych możliwości (w równolegle wspieranej stabilnej gałęzi 1.16 wprowadzane są tylko zmiany związane z eliminacją poważnych błędów i luk w zabezpieczeniach).

Podstawowe zmiany:

  • Zabroniono wskazywania wielu wierszy „Host” w
    nagłówku żądania;
  • Naprawiono błąd, w którym nginx ignorował dodatkowe wiersze
    „Transfer-Encoding” w nagłówku żądania;
  • Wprowadzono poprawki zapobiegające wyciekom gniazd podczas korzystania z protokołu HTTP/2;
  • Usunięto błąd (segmentation fault) procesu roboczego, występujący przy użyciu OCSP stapling;
  • Wprowadzone poprawki w module ngx_http_mp4_module;
  • Rozwiązano problem w sytuacjach, gdy przy przekierowywaniu błędów z kodem 494 za pomocą dyrektywy ‘error_page’ mógł być zwracany odpowiedź z kodem 494 zamiast 400;
  • Usunięto wycieki gniazd podczas używania podzapytania w module njs oraz dyrektywy aio.

Dodatkowo można zaznaczyć wydanie njs 0.3.9, interpretera języka JavaScript dla serwera www nginx. Interpreter njs wdraża standardy ECMAScript i pozwala na rozszerzenie możliwości nginx w zakresie przetwarzania żądań za pomocą skryptów w konfiguracji. Skrypty mogą być używane w pliku konfiguracyjnym do definiowania zaawansowanej logiki przetwarzania żądań, formułowania konfiguracji, dynamicznego generowania odpowiedzi, modyfikacji żądania/odpowiedzi lub szybkiego tworzenia zastępczych rozwiązań problemów w aplikacjach webowych.

W nowym wydaniu w module njs dodano wsparcie dla trybu odczepionych żądań w r.subrequest(). Odpowiedzi na odczepione podzapytania są ignorowane. W przeciwieństwie do zwykłych podzapytań, odczepione podzapytanie może być utworzone wewnątrz obsługi zmiennej. Ponadto:

  • Dodano API Promises do modułu „fs”;
  • W module „fs” dodano funkcje access(), symlink(), unlink(),
    realpath() i podobne;
  • Wprowadzono efektywne pod względem zużycia pamięci standardowe tablice;
  • Wprowadzono udoskonalenia w lexerze;
  • Wprowadzono poprawkę do dopasowania natywnych funkcji w stosach wywołań (backtraces).
    ślady;
  • Naprawiono wywołania callback w module „fs”;
  • Wprowadzono poprawki w Object.getOwnPropertySymbols();
  • Usunięto przepełnienie bufora pamięci dynamicznej w njs_json_append_string();
  • Wprowadzono poprawkę w encodeURI() i decodeURI() zgodnie ze specyfikacją;
  • Wprowadzono poprawkę w Number.prototype.toPrecision();
  • Wprowadzono poprawkę w obsłudze argumentu spacji w JSON.stringify();
  • Wprowadzono poprawkę do JSON.stringify() dla obiektów Number() i String();
  • Zapewniono escape'owanie znaków Unicode w JSON.stringify() zgodnie
    ze specyfikacją;
  • Wprowadzono poprawkę w imporcie niektórych modułów;
  • Wprowadzono poprawkę w njs.dump() z instancją Date() w kontenerze.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster