Llançament de nginx 1.17.9 i njs 0.3.9

Format llançament de branca mestra nginx 1.17.9, dins del qual continua el desenvolupament de noves característiques (en un paral·lel suport estable branca 1.16 Només es fan canvis relacionats amb l'eliminació d'errors greus i vulnerabilitats).

El principal canvis:

  • Està prohibit especificar diverses línies "Amfitrió".
    capçalera de la sol·licitud;

  • S'ha corregit un error en què nginx ignorava línies addicionals
    "Codificació de transferència" a la capçalera de la sol·licitud;

  • S'han fet correccions per evitar fuites de socket quan s'utilitza el protocol HTTP/2;
  • S'ha solucionat un error de segmentació en el procés de treball que es produïa quan s'utilitzava el grapat OCSP;
  • S'han fet correccions al mòdul ngx_http_mp4_module;
  • S'ha resolt un problema en els casos en què en redirigir errors amb el codi 494 mitjançant la directiva 'error_page', es podia retornar una resposta amb el codi 494 en lloc de 400;
  • S'han corregit les fuites de socket quan s'utilitzaven subconsultes al mòdul njs i la directiva aio.

A més, es pot assenyalar qüestió njs 0.3.9, un intèrpret de JavaScript per al servidor web nginx. L'intèrpret njs implementa els estàndards ECMAScript i us permet ampliar la capacitat de nginx per processar sol·licituds mitjançant scripts a la configuració. Els scripts es poden utilitzar en un fitxer de configuració per definir una lògica avançada per processar sol·licituds, generar una configuració, generar dinàmicament una resposta, modificar una sol·licitud/resposta o crear ràpidament talls per resoldre problemes en aplicacions web.

A la nova versió, el mòdul njs ha afegit suport per al mode de sol·licitud separada a r.subrequest(). Les respostes a subconsultes separades s'ignoren. A diferència de les subconsultes normals, es pot crear una subconsulta separada dins d'un controlador de variables. També:

  • S'han afegit promeses d'API per al mòdul "fs";
  • Les funcions access(), symlink(), unlink(), s'han afegit al mòdul "fs".
    realpath() i similars;

  • S'han introduït matrius ordinàries, eficients pel que fa al consum de memòria;
  • S'han fet millores a lexer;
  • S'ha corregit el mapeig de les funcions natives a les traces enrere.
    rastres;

  • S'han corregit les trucades de retorn de trucada al mòdul "fs";
  • S'han fet correccions a Object.getOwnPropertySymbols();
  • S'ha corregit el desbordament de memòria intermèdia en njs_json_append_string();
  • S'han corregit encodeURI() i decodeURI() per complir amb l'especificació;
  • S'ha corregit Number.prototype.toPrecision();
  • S'ha corregit el maneig de l'argument d'espai a JSON.stringify();
  • S'ha corregit JSON.stringify() amb objectes Number() i String();
  • S'ha proporcionat l'escapament de caràcters Unicode a JSON.stringify() segons
    amb especificació;

  • S'ha corregit la importació de mòduls no natius;
  • S'ha corregit njs.dump() amb una instància Date() al contenidor.

Font: opennet.ru

Afegeix comentari