Vydání nginx 1.17.9 a njs 0.3.9

Zformováno upstream vydání nginx 1.17.9, v rámci kterého pokračuje vývoj nových schopností (v paralelně podporované stáji pobočka 1.16 Provádějí se pouze změny související s odstraněním závažných chyb a zranitelností).

hlavní změny:

  • Je zakázáno specifikovat více linek „Host“ v
    hlavička požadavku;

  • Opravena chyba, kdy nginx ignoroval další řádky
    "Transfer-Encoding" v záhlaví požadavku;

  • Byly provedeny opravy, aby se zabránilo únikům soketů při použití protokolu HTTP/2;
  • Opravena chyba segmentace v pracovním procesu, ke které dochází při použití sešívání OCSP;
  • Byly provedeny opravy modulu ngx_http_mp4_module;
  • Byl vyřešen problém v případech, kdy při přesměrování chyb s kódem 494 pomocí direktivy 'error_page' mohla být vrácena odpověď s kódem 494 namísto 400;
  • Opravené úniky soketu při použití poddotazů v modulu njs a direktivě aio.

Navíc lze poznamenat otázka njs 0.3.9, interpret JavaScriptu pro webový server nginx. Interpret njs implementuje standardy ECMAScript a umožňuje vám rozšířit schopnost nginx zpracovávat požadavky pomocí skriptů v konfiguraci. Skripty lze použít v konfiguračním souboru k definování pokročilé logiky pro zpracování požadavků, generování konfigurace, dynamické generování odpovědi, úpravy požadavku/odpovědi nebo rychlé vytváření útržků pro řešení problémů ve webových aplikacích.

V novém vydání modul njs přidal podporu pro režim odděleného požadavku v r.subrequest(). Odpovědi na odpojené poddotazy jsou ignorovány. Na rozdíl od běžných poddotazů lze v obslužné rutině proměnné vytvořit oddělený poddotaz. Taky:

  • Přidány sliby API pro modul „fs“;
  • Do modulu „fs“ byly přidány funkce access(), symlink(), unlink().
    realpath() a podobně;

  • Byla zavedena běžná pole, efektivní z hlediska spotřeby paměti;
  • Zlepšení byla provedena na lexer;
  • Byla provedena oprava mapování nativních funkcí v backtraces.
    stopy;

  • Opravena zpětná volání v modulu „fs“;
  • Byly provedeny opravy Object.getOwnPropertySymbols();
  • Opraveno přetečení vyrovnávací paměti haldy v njs_json_append_string();
  • Opraveno encodeURI() a decodeURI(), aby odpovídalo specifikaci;
  • Provedli opravu Number.prototype.toPrecision();
  • Opraveno zpracování argumentu mezery v JSON.stringify();
  • Opravili jsme JSON.stringify() s objekty Number() a String();
  • Zajištěno escapování znaků Unicode v JSON.stringify() podle
    se specifikací;

  • Byla provedena oprava importu nenativních modulů;
  • Opravili jsme njs.dump() s instancí Date() v kontejneru.

Zdroj: opennet.ru

Přidat komentář