Išleisk nginx 1.16.0

Po metų plėtros atstovaujama nauja stabili didelio našumo HTTP serverio ir kelių protokolų tarpinio serverio šaka nginx 1.16.0, kuris absorbavo pokyčius, susikaupusius pagrindinėje šakoje 1.15.x. Ateityje visi stabilios šakos 1.16 pakeitimai bus susiję su rimtų klaidų ir pažeidžiamumų pašalinimu. Netrukus bus suformuota pagrindinė nginx 1.17 šaka, kurioje bus tęsiamas naujų funkcijų kūrimas. Paprastiems vartotojams, kurie neturi užduoties užtikrinti suderinamumo su trečiųjų šalių moduliais, rekomenduojama naudoti pagrindinį filialą, kurio pagrindu kas tris mėnesius formuojami komercinio produkto Nginx Plus leidimai.

Žymiausi patobulinimai, pridėti kuriant 1.15.x aukštesnę atšaką:

  • Pridėta galimybė naudoti kintamuosius direktyvosessl_certificate'ir'ssl_certificate_key', kuris gali būti naudojamas dinamiškai įkelti sertifikatus;
  • Pridėta galimybė įkelti SSL sertifikatus ir slaptus raktus iš kintamųjų nenaudojant tarpinių failų;
  • bloke "prieš srovęĮdiegta nauja direktyvaatsitiktinis“, kurio pagalba galite organizuoti apkrovos balansavimą atsitiktine tvarka pasirenkant ryšį persiuntimui skirtą serverį;
  • Modulyje ngx_stream_ssl_preread kintamasis įdiegtas $ssl_preread_protocol,
    kuri nurodo aukščiausią kliento palaikomą SSL/TLS protokolo versiją. Kintamasis leidžia sukurti konfigūracijas prieigai naudojant įvairius protokolus su SSL ir be jo per vieną tinklo prievadą perduodant srautą tarpiniu serveriu naudojant http ir srauto modulius. Pavyzdžiui, norint organizuoti prieigą per SSH ir HTTPS per vieną prievadą, 443 prievadas pagal numatytuosius nustatymus gali būti persiunčiamas į SSH, bet jei nustatyta SSL versija, persiųsti į HTTPS.

  • Naujas kintamasis buvo pridėtas prie aukštesniojo modulio "$upstream_bytes_išsiųsta“, kuriame rodomas į grupės serverį perduotų baitų skaičius;
  • Į modulį srautas per vieną seansą buvo pridėta galimybė apdoroti kelias iš kliento gaunamas UDP datagramas;
  • direktyva "proxy_requests“, nurodo iš kliento gautų datagramų skaičių, kurį pasiekus pašalinamas susiejimas tarp kliento ir esamos UDP sesijos. Gavus nurodytą datagramų skaičių, kita datagrama, gauta iš to paties kliento, pradeda naują seansą;
  • Klausymo direktyva dabar turi galimybę nurodyti prievadų diapazonus;
  • Pridėta direktyva "ssl_early_data» norėdami įjungti režimą 0-RTT naudojant TLSv1.3, leidžiantį išsaugoti anksčiau sutartus TLS ryšio parametrus ir atnaujinant anksčiau užmegztą ryšį sumažinti RTT skaičių iki 2;
  • Pridėtos naujos direktyvos, skirtos konfigūruoti išeinančių ryšių palaikymą (įjungiant arba išjungiant SO_KEEPALIVE parinktį lizdams):

    • «proxy_socket_keepalive" - sukonfigūruoja "TCP Keepalive" elgseną siunčiamiems ryšiams su įgaliotuoju serveriu;
    • «fastcgi_socket_keepalive" - sukonfigūruoja "TCP Keepalive" elgseną siunčiamiems ryšiams su FastCGI serveriu;
    • «grpc_socket_keepalive" - konfigūruoja "TCP Keepalive" elgseną siunčiamiems ryšiams su gRPC serveriu;
    • «memcached_socket_keepalive" - sukonfigūruoja "TCP Keepalive" elgseną siunčiamiems ryšiams su talpykloje išsaugotu serveriu;
    • «scgi_socket_keepalive" - sukonfigūruoja "TCP Keepalive" elgseną išeinantiems ryšiams su SCGI serveriu;
    • «uwsgi_socket_keepalive“ – konfigūruoja „TCP Keepalive“ elgseną siunčiamiems ryšiams su uwsgi serveriu.
  • direktyvoje "limit_req" pridėtas naujas parametras „delay“, kuris nustato ribą, po kurios perteklinės užklausos vėluoja;
  • Naujos direktyvos „keepalive_timeout“ ir „keepalive_requests“ buvo įtrauktos į „prieš srovę“ bloką, siekiant nustatyti „Keepalive“ apribojimus;
  • „ssl“ direktyva buvo pasenusi, pakeista „ssl“ parametru „klausymo“ direktyvoje. Trūkstami SSL sertifikatai dabar aptinkami konfigūracijos testavimo etape, kai nustatymuose naudojama direktyva „klausymas“ su parametru „ssl“;
  • Naudojant reset_timedout_connection direktyvą, pasibaigus skirtajam laikui, ryšiai uždaromi naudojant 444 kodą;
  • SSL klaidos „http užklausa“, „https tarpinio serverio užklausa“, „nepalaikomas protokolas“ ir „per žema versija“ dabar rodomos žurnale su lygiu „info“, o ne „crit“;
  • Pridėtas apklausos metodo palaikymas „Windows“ sistemose naudojant „Windows Vista“ ir naujesnę versiją;
  • Galimybė panaudoti TLSv1.3 kuriant naudojant BoringSSL biblioteką, o ne tik OpenSSL.

Šaltinis: opennet.ru

Добавить комментарий