nginx 1.16.0 eldono

Post jaro da evoluo предстР° РІР »РµРЅР ° nova stabila branĉo de alt-efikeca HTTP-servilo kaj plurprotokola prokurilo nginx 1.16.0, kiu absorbis la ŝanĝojn akumulitajn ene de la ĉefa branĉo 1.15.x. En la estonteco, ĉiuj ŝanĝoj en la stabila branĉo 1.16 estos rilataj al la forigo de gravaj eraroj kaj vundeblecoj. La ĉefa branĉo de nginx 1.17 baldaŭ formiĝos, ene de kiu la disvolviĝo de novaj funkcioj daŭros. Por ordinaraj uzantoj, kiuj ne havas la taskon certigi kongruon kun triaj moduloj, rekomendita uzu la ĉefan branĉon, surbaze de kiu eldonoj de la komerca produkto Nginx Plus estas formitaj ĉiuj tri monatoj.

La plej rimarkindaj plibonigoj aldonitaj dum la evoluo de la 1.15.x kontraŭflua branĉo:

  • Aldonita la kapablo uzi variablojn en ' direktivojssl_atestilo' Kaj 'ssl_certificate_key', kiu povas esti uzata por dinamike ŝargi atestojn;
  • Aldonis la kapablon ŝargi SSL-atestilojn kaj sekretajn ŝlosilojn de variabloj sen uzi mezajn dosierojn;
  • En la bloko "kontraŭflue» nova direktivo efektivigita «hazarda", kun la helpo de kiu vi povas organizi ŝarĝan ekvilibron kun hazarda elekto de servilo por plusendi la konekton;
  • En la modulo ngx_stream_ssl_preread variablo efektivigita $ssl_prelegita_protokolo,
    kiu precizigas la plej altan version de la SSL/TLS-protokolo kiun la kliento subtenas. La variablo permesas krei agordojn por aliro uzante diversajn protokolojn kun kaj sen SSL tra unu rethaveno dum prokurado de trafiko uzante la http kaj stream-modulojn. Ekzemple, por organizi aliron per SSH kaj HTTPS per unu haveno, la haveno 443 povas esti plusendita defaŭlte al SSH, sed se la SSL-versio estas difinita, plusendu al HTTPS.

  • Nova variablo estis aldonita al la kontraŭflua modulo "$supren_bajtoj_senditaj", kiu montras la nombron da bajtoj transdonitaj al la grupservilo;
  • Al modulo rivereto ene de unu sesio, la kapablo prilabori plurajn envenantajn UDP-datugramojn de la kliento estis aldonita;
  • La direktivo"prokurilo_petoj", specifas la nombron da datagramoj ricevitaj de la kliento, atinginte, kiun la ligado inter la kliento kaj la ekzistanta UDP-sesio estas forigita. Post ricevo de la specifita nombro da datagramoj, la sekva datagramo ricevita de la sama kliento komencas novan sesion;
  • La aŭskulta direktivo nun havas la kapablon specifi portintervalojn;
  • Aldonita direktivo "ssl_fruaj_datumoj» por ebligi la reĝimon 0-RTT kiam vi uzas TLSv1.3, kiu permesas vin konservi antaŭe intertraktatajn TLS-konekto-parametrojn kaj redukti la nombron da RTT-oj al 2 kiam vi rekomencas antaŭe establitan konekton;
  • Novaj direktivoj estis aldonitaj por agordi keepalive por eksiĝintaj konektoj (ebligante aŭ malŝaltante la opcion SO_KEEPALIVE por ingoj):

  • En la direktivo "limo_postulo" aldonis novan parametron "malfruo", kiu fiksas limon post kiu superfluaj petoj estas prokrastitaj;
  • Novaj direktivoj "keepalive_timeout" kaj "keepalive_requests" estis aldonitaj al la "upstream" bloko por agordi limojn por Keepalive;
  • La direktivo "ssl" estis malrekomendita, anstataŭigita per la parametro "ssl" en la direktivo "aŭskulti". Mankantaj SSL-atestiloj nun estas detektitaj ĉe la agorda testa stadio kiam oni uzas la "aŭskulti" direktivon kun la "ssl" parametro en la agordoj;
  • Kiam oni uzas la direktivon reset_timedout_connection, konektoj nun estas fermitaj per 444-kodo kiam la tempoforigo eksvalidiĝas;
  • SSL-eraroj "http peto", "https-prokura peto", "nesubtena protokolo" kaj "versio tro malalta" nun estas montrataj en la protokolo kun la nivelo "info" anstataŭ "krit";
  • Aldonita subteno por la balotmetodo sur Vindozaj sistemoj kiam vi uzas Vindozon Vista kaj poste;
  • Eblo uzi TLSv1.3 konstruante kun la biblioteko BoringSSL, ne nur OpenSSL.

fonto: opennet.ru

Aldoni komenton