Izdanje nginxa 1.17.9 i njs 0.3.9

Formirano izdanje glavne grane nginx 1.17.9, unutar kojeg se nastavlja razvoj novih funkcija (u paralelno podržanom stabilnom grana 1.16 Izvršavaju se samo promjene koje se odnose na otklanjanje ozbiljnih grešaka i ranjivosti).

Glavni promjena:

  • Zabranjeno je specificirati više linija “Host” u
    zaglavlje zahtjeva;

  • Ispravljena greška u kojoj je nginx ignorisao dodatne linije
    "Transfer-Encoding" u zaglavlju zahtjeva;

  • Napravljene su popravke kako bi se spriječilo curenje utičnice kada se koristi HTTP/2 protokol;
  • Ispravljena greška segmentacije u radnom procesu koja se javlja kada se koristi OCSP heftanje;
  • Ispravke su napravljene na modulu ngx_http_mp4_module;
  • Rešen je problem u slučajevima kada se prilikom preusmjeravanja grešaka s kodom 494 pomoću direktive 'error_page', odgovor s kodom 494 mogao vratiti umjesto 400;
  • Ispravljeno curenje utičnice pri korištenju podupita u njs modulu i aio direktivi.

Osim toga, može se primijetiti pustiti njs 0.3.9, JavaScript interpreter za nginx web server. Njs interpreter implementira standarde ECMAScript i omogućava vam da proširite nginx-ovu sposobnost da obrađuje zahtjeve koristeći skripte u konfiguraciji. Skripte se mogu koristiti u konfiguracijskoj datoteci za definiranje napredne logike za obradu zahtjeva, generiranje konfiguracije, dinamičko generiranje odgovora, modificiranje zahtjeva/odgovora ili brzo kreiranje stubova za rješavanje problema u web aplikacijama.

U novom izdanju, njs modul je dodao podršku za odvojeni zahtjev u r.subrequest(). Odgovori na odvojene potupite se zanemaruju. Za razliku od redovnih potupita, odvojeni potupit se može kreirati unutar obrađivača varijabli. Također:

  • Dodata API obećanja za "fs" modul;
  • Funkcije access(), symlink(), unlink(), dodane su u “fs” modul.
    realpath() i slično;

  • Uvedeni su obični nizovi, efikasni u smislu potrošnje memorije;
  • Napravljena su poboljšanja u lexer-u;
  • Popravka je napravljena za mapiranje izvornih funkcija u povratnim tragovima.
    tragovi;

  • Fiksni povratni pozivi u “fs” modulu;
  • Izvršene su ispravke u Object.getOwnPropertySymbols();
  • Popravljeno prekoračenje bafera hrpe u njs_json_append_string();
  • Fiksni encodeURI() i decodeURI() kako bi bili u skladu sa specifikacijom;
  • Napravio popravku za Number.prototype.toPrecision();
  • Popravljeno rukovanje argumentom prostora u JSON.stringify();
  • Napravio popravku za JSON.stringify() sa objektima Number() i String();
  • Omogućeno izbjegavanje Unicode znakova u JSON.stringify() prema
    sa specifikacijom;

  • Napravljena je ispravka za uvoz ne-nativnih modula;
  • Napravio je popravku za njs.dump() sa Date() instancom u kontejneru.

izvor: opennet.ru

Dodajte komentar