nginx 1.16.0 laidiens

Pēc gada attīstības kuru pārstāv jauna stabila augstas veiktspējas HTTP servera un vairāku protokolu starpniekservera filiāle nginx 1.16.0, kas absorbēja galvenās nozares ietvaros uzkrātās izmaiņas 1.15.x. Turpmāk visas izmaiņas stabilajā zarā 1.16 būs saistītas ar nopietnu kļūdu un ievainojamību novēršanu. Drīzumā tiks izveidota nginx 1.17 galvenā filiāle, kuras ietvaros turpināsies jaunu funkciju izstrāde. Parastajiem lietotājiem, kuriem nav uzdevuma nodrošināt saderību ar trešo pušu moduļiem, ieteicams izmantot galveno filiāli, uz kuras pamata ik pēc trim mēnešiem tiek veidoti komerciālā produkta Nginx Plus izlaidumi.

Ievērojamākie uzlabojumi, kas pievienoti 1.15.x augšpuses filiāles izstrādes laikā:

  • Pievienota iespēja izmantot mainīgos direktīvāsssl_certificate' un 'ssl_certificate_key', ko var izmantot, lai dinamiski ielādētu sertifikātus;
  • Pievienota iespēja ielādēt SSL sertifikātus un slepenās atslēgas no mainīgajiem, neizmantojot starpposma failus;
  • Blokā "pret straumi» ieviesta jauna direktīva «izlases“, ar kuras palīdzību var organizēt slodzes balansēšanu ar nejaušu servera izvēli savienojuma pārsūtīšanai;
  • Modulī ngx_stream_ssl_preread mainīgais ieviests $ssl_preread_protocol,
    kas norāda klienta atbalstīto SSL/TLS protokola augstāko versiju. Mainīgais pieļauj izveidot konfigurācijas piekļuvei, izmantojot dažādus protokolus ar un bez SSL, izmantojot vienu tīkla portu, starpniekserverot trafiku, izmantojot http un straumes moduļus. Piemēram, lai organizētu piekļuvi, izmantojot SSH un HTTPS caur vienu portu, portu 443 pēc noklusējuma var pārsūtīt uz SSH, bet, ja ir definēta SSL versija, pārsūtīt uz HTTPS.

  • Augšpuses modulim ir pievienots jauns mainīgais "$augšupstraumes_baiti_nosūtīti", kas parāda uz grupas serveri pārsūtīto baitu skaitu;
  • Uz moduli plūsma vienas sesijas ietvaros ir pievienota iespēja apstrādāt vairākas no klienta ienākošās UDP datagrammas;
  • direktīva"starpniekservera_pieprasījumi", norāda no klienta saņemto datagrammu skaitu, kuru sasniegšanai tiek noņemta saistība starp klientu un esošo UDP sesiju. Pēc noteiktā datugrammu skaita saņemšanas nākamā no tā paša klienta saņemtā datagramma sāk jaunu sesiju;
  • Klausīšanās direktīvai tagad ir iespēja norādīt portu diapazonus;
  • Pievienota direktīva "ssl_early_data», lai iespējotu režīmu 0-RTT izmantojot TLSv1.3, kas ļauj saglabāt iepriekš sarunātos TLS savienojuma parametrus un samazināt RTT skaitu līdz 2, atsākot iepriekš izveidoto savienojumu;
  • Ir pievienotas jaunas direktīvas, lai konfigurētu izejošo savienojumu saglabāšanu (iespējojot vai atspējojot opciju SO_KEEPALIVE ligzdām):

    • «proxy_socket_keepalive" - konfigurē "TCP Keepalive" uzvedību izejošajiem savienojumiem ar starpniekserveri;
    • «fastcgi_socket_keepalive" - konfigurē "TCP Keepalive" uzvedību izejošajiem savienojumiem ar FastCGI serveri;
    • «grpc_socket_keepalive" - konfigurē "TCP Keepalive" uzvedību izejošajiem savienojumiem ar gRPC serveri;
    • «memcached_socket_keepalive" - konfigurē "TCP Keepalive" uzvedību izejošajiem savienojumiem ar kešatmiņā saglabāto serveri;
    • «scgi_socket_keepalive" - konfigurē "TCP Keepalive" uzvedību izejošajiem savienojumiem ar SCGI serveri;
    • «uwsgi_socket_keepalive" - konfigurē "TCP Keepalive" uzvedību izejošajiem savienojumiem ar uwsgi serveri.
  • direktīvā "limit_req" pievienots jauns parametrs “delay”, kas nosaka limitu, pēc kura tiek aizkavēti liekie pieprasījumi;
  • Jaunas direktīvas "keepalive_timeout" un "keepalive_requests" ir pievienotas "augšupstraumes" blokam, lai iestatītu ierobežojumus Keepalive;
  • Direktīva "ssl" ir novecojusi, un tā ir aizstāta ar "ssl" parametru "klausīšanās" direktīvā. Trūkstošie SSL sertifikāti tagad tiek atklāti konfigurācijas testēšanas stadijā, izmantojot direktīvu “klausīt” ar parametru “ssl” iestatījumos;
  • Izmantojot direktīvu reset_timedout_connection, savienojumi tagad tiek slēgti ar 444 kodu, kad beidzas taimauta termiņš;
  • SSL kļūdas "http pieprasījums", "https starpniekservera pieprasījums", "neatbalstīts protokols" un "versija ir pārāk zema" tagad tiek parādītas žurnālā ar līmeni "info", nevis "crit";
  • Pievienots aptaujas metodes atbalsts Windows sistēmās, izmantojot Windows Vista un jaunākas versijas;
  • Izmantošanas iespēja TLSv1.3 veidojot ar BoringSSL bibliotēku, nevis tikai OpenSSL.

Avots: opennet.ru

Pievieno komentāru