nginx 1.16.0 vrijgeven

Na een jaar van ontwikkeling gepresenteerd nieuwe stabiele tak van krachtige HTTP-server en multiprotocol proxyserver nginx 1.16.0, dat de veranderingen absorbeerde die zich binnen de hoofdtak 1.15.x hadden verzameld. In de toekomst zullen alle veranderingen in de stabiele tak 1.16 verband houden met het elimineren van ernstige fouten en kwetsbaarheden. Binnenkort wordt de hoofdtak van nginx 1.17 gevormd, waarbinnen de ontwikkeling van nieuwe features zal doorgaan. Voor gewone gebruikers die niet de taak hebben om compatibiliteit met modules van derden te garanderen, aanbevolen gebruik de hoofdtak, op basis waarvan elke drie maanden releases van het commerciële product Nginx Plus worden gevormd.

De meest opvallende verbeteringen die zijn toegevoegd tijdens de ontwikkeling van de 1.15.x upstream-vertakking:

  • De mogelijkheid toegevoegd om variabelen te gebruiken in ‘richtlijnen’ssl_certificate' En 'ssl_certificate_key‘, waarmee certificaten dynamisch kunnen worden geladen;
  • De mogelijkheid toegevoegd om SSL-certificaten en geheime sleutels uit variabelen te laden zonder tussenbestanden te gebruiken;
  • In het blok"stroomopwaarts» nieuwe richtlijn geïmplementeerd «willekeurige“, met behulp waarvan u load-balancing kunt organiseren met een willekeurige selectie van een server voor het doorsturen van de verbinding;
  • In de module ngx_stream_ssl_preread variabele geïmplementeerd $ssl_preread_protocol,
    die de hoogste versie specificeert van het SSL/TLS-protocol dat de client ondersteunt. De variabele maakt dit mogelijk configuraties maken voor toegang met behulp van verschillende protocollen met en zonder SSL via één netwerkpoort bij het proxyen van verkeer met behulp van de http- en streammodules. Om bijvoorbeeld toegang via SSH en HTTPS via één poort te organiseren, kan poort 443 standaard worden doorgestuurd naar SSH, maar als de SSL-versie is gedefinieerd, doorsturen naar HTTPS.

  • Er is een nieuwe variabele toegevoegd aan de upstream-module "$upstream_bytes_sent", dat het aantal bytes weergeeft dat naar de groepsserver is overgedragen;
  • Naar module stream binnen één sessie is de mogelijkheid toegevoegd om meerdere inkomende UDP-datagrammen van de client te verwerken;
  • De richtlijn "proxy_verzoeken", waarbij het aantal datagrammen wordt gespecificeerd dat van de client is ontvangen, waarna de binding tussen de client en de bestaande UDP-sessie wordt verwijderd. Na ontvangst van het opgegeven aantal datagrammen begint het volgende datagram dat van dezelfde client wordt ontvangen een nieuwe sessie;
  • De luisterrichtlijn heeft nu de mogelijkheid om poortbereiken te specificeren;
  • Richtlijn toegevoegd "ssl_vroege_data» om de modus in te schakelen 0-RTT bij gebruik van TLSv1.3, waarmee u eerder overeengekomen TLS-verbindingsparameters kunt opslaan en het aantal RTT's kunt terugbrengen tot 2 wanneer u een eerder tot stand gebrachte verbinding hervat;
  • Er zijn nieuwe richtlijnen toegevoegd om keepalive te configureren voor uitgaande verbindingen (de optie SO_KEEPALIVE voor sockets in- of uitschakelen):

    • «proxy_socket_keepalive" - configureert het gedrag "TCP keepalive" voor uitgaande verbindingen met de proxyserver;
    • «fastcgi_socket_keepalive" - configureert het gedrag "TCP keepalive" voor uitgaande verbindingen met de FastCGI-server;
    • «grpc_socket_keepalive" - configureert het gedrag "TCP keepalive" voor uitgaande verbindingen met de gRPC-server;
    • «memcached_socket_keepalive" - configureert het "TCP keepalive"-gedrag voor uitgaande verbindingen met de memcached server;
    • «scgi_socket_keepalive" - configureert het gedrag "TCP keepalive" voor uitgaande verbindingen met de SCGI-server;
    • «uwsgi_socket_keepalive" - configureert het gedrag "TCP keepalive" voor uitgaande verbindingen met de uwsgi-server.
  • In de richtlijn "limit_req" een nieuwe parameter “delay” toegevoegd, die een limiet instelt waarna overtollige verzoeken worden uitgesteld;
  • Nieuwe richtlijnen “keepalive_timeout” en “keepalive_requests” zijn toegevoegd aan het “upstream” blok om limieten in te stellen voor Keepalive;
  • De "ssl"-richtlijn is verouderd en vervangen door de "ssl"-parameter in de "listen"-richtlijn. Ontbrekende SSL-certificaten worden nu gedetecteerd tijdens de configuratietestfase bij gebruik van de “listen” -richtlijn met de “ssl” -parameter in de instellingen;
  • Bij gebruik van de reset_timedout_connection-instructie worden verbindingen nu gesloten met een 444-code wanneer de time-out verloopt;
  • SSL-fouten "http request", "https proxy request", "unsupported protocol" en "version too low" worden nu in de log weergegeven met het niveau "info" in plaats van "crit";
  • Ondersteuning toegevoegd voor de poll-methode op Windows-systemen bij gebruik van Windows Vista en hoger;
  • Mogelijkheid tot gebruik TLSv1.3 bij het bouwen met de BoringSSL-bibliotheek, niet alleen OpenSSL.

Bron: opennet.ru

Voeg een reactie