Wydanie Nginx 1.17.1 i njs 0.3.3

Do dyspozycji wydanie wstępne nginx 1.17.1, 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:

  • Dodano dyrektywę limit_req_dry_run, który aktywuje tryb próbny, w którym nie stosuje się ograniczeń intensywności przetwarzania żądań (bez limitu szybkości), ale nadal uwzględnia liczbę żądań przekraczającą limity w pamięci współdzielonej;
  • Podczas korzystania z dyrektywy „upstream” w bloku ustawień „upstream”.haszysz» w celu zorganizowania równoważenia obciążenia z powiązaniem klient-serwer, jeśli określisz pustą wartość klucza, zostanie aktywowany tryb równomiernego równoważenia (okrężny);
  • Naprawiono awarię przepływu pracy podczas korzystania z pamięci podręcznej w połączeniu z dyrektywą „image_filter” i przekierowywania procedury obsługi kodu błędu 415 za pomocą dyrektywy „error_page”;
  • Naprawiono awarię przepływu pracy, która wystąpiła podczas korzystania z wbudowanego interpretera Perla.

Dodatkowo można to zauważyć problem njs 0.3.3, 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.

Nowa wersja njs naprawia problemy zidentyfikowane podczas testów fuzzingu. Zaimplementowano zmienną globalną „proces” z parametrami i zmiennymi środowiskowymi bieżącego procesu (process.pid, Process.env.HOME itp.). Można do nich zapisywać wszystkie wbudowane właściwości i metody. Dodano implementację Array.prototype.fill(). Zaimplementowano obsługę składni zaproponowanej w ECMAScript 5 rębacz и seter aby powiązać właściwość obiektu z funkcją, na przykład:

var o = {a:2};
Obiekt.defineProperty(o, 'b', {get:function(){return 2*this.a}});

Źródło: opennet.ru

Dodaj komentarz