Utgivelse nginx 1.16.0

Etter et år med utvikling representert av ny stabil gren av høyytelses HTTP-server og multiprotokoll proxy-server nginx 1.16.0, som absorberte endringene akkumulert innenfor hovedgrenen 1.15.x. I fremtiden vil alle endringer i den stabile grenen 1.16 være relatert til eliminering av alvorlige feil og sårbarheter. Hovedgrenen til nginx 1.17 vil snart bli dannet, der utviklingen av nye funksjoner vil fortsette. For vanlige brukere som ikke har som oppgave å sikre kompatibilitet med tredjepartsmoduler, anbefales bruk hovedgrenen, på grunnlag av hvilke utgivelser av det kommersielle produktet Nginx Plus dannes hver tredje måned.

De mest bemerkelsesverdige forbedringene som ble lagt til under utviklingen av 1.15.x oppstrømsgrenen:

  • Lagt til muligheten til å bruke variabler i ' direktiverssl_certificate'и'ssl_certificate_key', som kan brukes til å laste sertifikater dynamisk;
  • Lagt til muligheten til å laste SSL-sertifikater og hemmelige nøkler fra variabler uten å bruke mellomliggende filer;
  • I blokken "oppstrøms» nytt direktiv implementert «tilfeldig", ved hjelp av hvilken du kan organisere lastbalansering med et tilfeldig utvalg av en server for å videresende tilkoblingen;
  • I modulen ngx_stream_ssl_preread variabel implementert $ssl_preread_protocol,
    som spesifiserer den høyeste versjonen av SSL/TLS-protokollen som klienten støtter. Variabelen tillater lage konfigurasjoner for tilgang ved hjelp av ulike protokoller med og uten SSL gjennom én nettverksport ved proxy-overføring av trafikk ved hjelp av http- og stream-modulene. For eksempel, for å organisere tilgang via SSH og HTTPS gjennom én port, kan port 443 videresendes som standard til SSH, men hvis SSL-versjonen er definert, videresend til HTTPS.

  • En ny variabel er lagt til oppstrømsmodulen "$upstream_bytes_sent", som viser antall byte som er overført til gruppeserveren;
  • Til modul stream i løpet av en økt er muligheten til å behandle flere innkommende UDP-datagrammer fra klienten lagt til;
  • Direktivet "proxy_requests", spesifiserer antall datagrammer mottatt fra klienten, når bindingen mellom klienten og den eksisterende UDP-sesjonen er fjernet. Etter å ha mottatt det angitte antallet datagrammer, begynner det neste datagrammet mottatt fra samme klient en ny økt;
  • Lyttedirektivet har nå muligheten til å spesifisere portområder;
  • Lagt til direktiv "ssl_early_data» for å aktivere modusen 0-RTT når du bruker TLSv1.3, som lar deg lagre tidligere forhandlede TLS-tilkoblingsparametere og redusere antall RTT-er til 2 når du gjenopptar en tidligere etablert tilkobling;
  • Nye direktiver er lagt til for å konfigurere Keepalive for utgående tilkoblinger (aktivere eller deaktivere SO_KEEPALIVE-alternativet for sockets):

    • «proxy_socket_keepalive" - konfigurerer "TCP keepalive"-atferden for utgående tilkoblinger til proxy-serveren;
    • «fastcgi_socket_keepalive" - konfigurerer "TCP keepalive"-atferden for utgående tilkoblinger til FastCGI-serveren;
    • «grpc_socket_keepalive" - konfigurerer "TCP keepalive"-atferden for utgående tilkoblinger til gRPC-serveren;
    • «memcached_socket_keepalive" - konfigurerer "TCP keepalive"-atferden for utgående tilkoblinger til den minnebufrede serveren;
    • «scgi_socket_keepalive" - konfigurerer "TCP keepalive"-atferden for utgående tilkoblinger til SCGI-serveren;
    • «uwsgi_socket_keepalive" - konfigurerer atferden "TCP keepalive" for utgående tilkoblinger til uwsgi-serveren.
  • I direktivet "limit_req" lagt til en ny parameter "forsinkelse", som setter en grense hvoretter redundante forespørsler blir forsinket;
  • Nye direktiver «keepalive_timeout» og «keepalive_requests» er lagt til «oppstrøms»-blokken for å sette grenser for Keepalive;
  • "ssl"-direktivet er avviklet, erstattet av "ssl"-parameteren i "lytt"-direktivet. Manglende SSL-sertifikater oppdages nå på konfigurasjonsteststadiet når du bruker "lytte"-direktivet med "ssl"-parameteren i innstillingene;
  • Når du bruker reset_timedout_connection-direktivet, lukkes tilkoblinger nå med en 444-kode når tidsavbruddet utløper;
  • SSL-feil "http request", "https proxy request", "unsupported protocol" og "version too low" vises nå i loggen med nivået "info" i stedet for "crit";
  • Lagt til støtte for avstemningsmetoden på Windows-systemer ved bruk av Windows Vista og nyere;
  • Mulighet for bruk TLSv1.3 når du bygger med BoringSSL-biblioteket, ikke bare OpenSSL.

Kilde: opennet.ru

Legg til en kommentar