Release van nginx 1.20.0

Na een jaar ontwikkeling is de nieuwe stabiele tak van de hoogperformante HTTP-server en multiprotocol proxyserver nginx 1.20.0 gepresenteerd, die de veranderingen heeft opgenomen die zijn verzameld in de hoofdversie 1.19.x. In de toekomst zullen alle wijzigingen in de stabiele tak 1.20 gericht zijn op het verhelpen van ernstige fouten en kwetsbaarheden. Binnenkort zal de hoofdversie nginx 1.21 worden gevormd, waarin de ontwikkeling van nieuwe mogelijkheden zal worden voortgezet. Voor gewone gebruikers die geen compatibiliteit met externe modules hoeven te garanderen, wordt het aanbevolen om de hoofdversie te gebruiken, waarvan elke drie maanden commerciële productreleases van Nginx Plus worden gemaakt.

Volgens het maartrapport van Netcraft wordt nginx gebruikt op 20,15% van alle actieve websites (een jaar geleden 19,56%, twee jaar geleden 20,73%), wat overeenkomt met de tweede plaats qua populariteit in deze categorie (het aandeel van Apache is 25,38% (een jaar geleden 27,64%), Google - 10,09%, Cloudflare - 8,51%. Bij het bekijken van alle websites behoudt nginx echter de leiding met een marktaandeel van 35,34% (een jaar geleden 36,91%, twee jaar geleden 27,52%), terwijl het aandeel van Apache 25,98% bedraagt, OpenResty (een platform gebaseerd op nginx en LuaJIT) 6,55%, en Microsoft IIS 5,96%.

Onder de miljoen meest bezochte websites ter wereld is het aandeel van nginx 25,55% (een jaar geleden 25,54%, twee jaar geleden 26,22%). Momenteel draaien er ongeveer 419 miljoen websites op nginx (een jaar geleden 459 miljoen). Volgens W3Techs wordt nginx gebruikt op 33,7% van de websites uit de miljoen meest bezochte, afgelopen april was deze indicator 31,9%, het jaar daarvoor 41,8% (de daling wordt verklaard door de afzonderlijke telling van http-server Cloudflare). Het aandeel van Apache is het afgelopen jaar gedaald van 39,5% naar 34%, terwijl het aandeel van Microsoft IIS is gedaald van 8,3% naar 7%. Het aandeel van LiteSpeed is gestegen van 6,3% naar 8,4%, en Node.js van 0,8% naar 1,2%. In Rusland wordt nginx gebruikt op 79,1% van de meest bezochte websites (een jaar geleden 78,9%).

De meest opvallende verbeteringen die zijn toegevoegd tijdens de vorming van de hoofdversie 1.19.x:

  • De mogelijkheid voor het verifiëren van cliëntcertificaten met behulp van externe diensten op basis van het OCSP-protocol (Online Certificate Status Protocol) is toegevoegd. Voor het inschakelen van de verificatie is de ssl_ocsp-directive voorgesteld, voor het instellen van de cachegrootte - ssl_ocsp_cache, en voor het overschrijven van de OCSP-handler-URL die in het certificaat is opgegeven - ssl_ocsp_responder.
  • De ngx_stream_set_module is opgenomen, waarmee een variabele kan worden toegewezen. server { listen 12345; set $true 1; }
  • De proxy_cookie_flags-directive is toegevoegd om de vlaggen voor cookies in geproxyde verbindingen aan te geven. Bijvoorbeeld, om de 'httponly' vlag aan cookie 'one' toe te voegen, en voor alle andere cookies de vlaggen 'nosecure' en 'samesite=strict' te gebruiken, kan de constructie worden toegepast: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    Een vergelijkbare userid_flags-directive voor het toevoegen van vlaggen aan cookies is ook geïmplementeerd voor de ngx_http_userid-module.

  • Er zijn de directives 'ssl_conf_command', 'proxy_ssl_conf_command', 'grpc_ssl_conf_command' en 'uwsgi_ssl_conf_command' toegevoegd, waarmee willekeurige parameters voor de configuratie van OpenSSL kunnen worden ingesteld. Bijvoorbeeld, om de prioriteit te geven aan de ChaCha-coderingen en om de TLSv1.3-coderingen verder af te stemmen, kan men aangeven ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • De 'ssl_reject_handshake'-directive is toegevoegd, die voorschrijft dat alle pogingen tot onderhandelen moeten worden afgewezen. SSL-verbindingen (bijvoorbeeld kan dit worden gebruikt om alle verzoeken met onbekende hostnamen in het SNI-veld af te wijzen). server { listen 443 ssl; ssl_reject_handshake on; } server { listen 443 ssl; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • In de mailproxy is de directive proxy_smtp_auth toegevoegd, waarmee een gebruiker op de backend kan worden geauthenticeerd met het AUTH-commando en het PLAIN SASL-mechanisme.
  • De 'keepalive_time'-directive is toegevoegd, die de totale levensduur van elke keep-alive-verbinding beperkt, waarna de verbinding zal worden gesloten (verwar dit niet met keepalive_timeout, dat de inactiviteitstijd bepaalt waarna de keep-alive-verbinding wordt gesloten).
  • Er is een variabele $connection_time toegevoegd, waarmee informatie kan worden verkregen over de duur van de verbinding in seconden met milliseconde-nauwkeurigheid.
  • Er is een parameter 'min_free' toegevoegd aan de directives 'proxy_cache_path', 'fastcgi_cache_path', 'scgi_cache_path' en 'uwsgi_cache_path', die de cachegrootte regelt op basis van de minimale hoeveelheid vrije schijfruimte.
  • De directives 'lingering_close', 'lingering_time' en 'lingering_timeout' zijn aangepast voor gebruik met HTTP/2.
  • De verwerking van verbindingen in HTTP/2 is dichter bij de implementatie van HTTP/1.x gebracht. Ondersteuning voor afzonderlijke instellingen van 'http2_recv_timeout', 'http2_idle_timeout' en 'http2_max_requests' is gestopt ten gunste van de algemene directives 'keepalive_timeout' en 'keepalive_requests'. De instellingen 'http2_max_field_size' en 'http2_max_header_size' zijn verwijderd, waarvoor nu 'large_client_header_buffers' moet worden gebruikt.
  • Een nieuwe optie voor de opdrachtregel "-e" is toegevoegd, waarmee een alternatief bestand voor het opslaan van foutlogboeken kan worden opgegeven, dat in plaats van het in de instellingen opgegeven logboek zal worden gebruikt. In plaats van een bestandsnaam kan een speciale waarde, stderr, worden opgegeven.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster