Utgivelsen av nginx 1.20.0

Etter et Ärs utvikling er den nye stabile grenen av den hÞyytelses HTTP-serveren og flerprotokollproxieserveren nginx 1.20.0 lansert, som har samlet endringene som er oppnÄdd i hovedgrenen 1.19.x. Fremover vil alle endringer i den stabile grenen 1.20 vÊre relatert til fjerning av alvorlige feil og sikkerhetsproblemer. I lÞpet av kort tid vil hovedgrenen av nginx 1.21 bli dannet, hvor utviklingen av nye funksjoner vil fortsette. For vanlige brukere, som ikke har oppgaven med Ä sikre kompatibilitet med tredjepartsmoduler, anbefales det Ä bruke hovedgrenen, som danner utgivelser av det kommersielle produktet Nginx Plus hvert tredje mÄned.

I henhold til marsrapporten fra selskapet Netcraft, brukes nginx pĂ„ 20.15% av alle aktive nettsteder (for et Ă„r siden 19.56%, for to Ă„r siden 20.73%), noe som tilsvarer andreplass i popularitet innen denne kategorien (andelen til Apache er 25.38% (for et Ă„r siden 27.64%), Google — 10.09%, Cloudflare — 8.51%. NĂ„r man vurderer alle nettsteder, opprettholder nginx ledelsen med 35.34% av markedet (for et Ă„r siden 36.91%, for to Ă„r siden — 27.52%), mens andelen til Apache er 25.98%, OpenResty (plattform basert pĂ„ nginx og LuaJIT) — 6.55%, Microsoft IIS — 5.96%.

Blant millionene av de mest besĂžkte nettstedene i verden er andelen nginx 25.55% (for et Ă„r siden 25.54%, for to Ă„r siden 26.22%). For tiden er omtrent 419 millioner nettsteder drevet av nginx (for et Ă„r siden 459 millioner). IfĂžlge W3Techs brukes nginx pĂ„ 33.7% av nettstedene blant millionene mest besĂžkte, i april i fjor var dette tallet 31.9%, i forfjor — 41.8% (nedgangen forklares med overgangen til separat registrering av http-serveren Cloudflare). Andelen til Apache falt i lĂžpet av Ă„ret fra 39.5% til 34%, mens andelen til Microsoft IIS falt fra 8.3% til 7%. Andelen til LiteSpeed Ăžkte fra 6.3% til 8.4%, mens Node.js steg fra 0.8% til 1.2%. I Russland brukes nginx pĂ„ 79.1% av de mest besĂžkte nettstedene (for et Ă„r siden — 78.9%).

De mest bemerkelsesverdige forbedringene som ble lagt til under dannelsen av hovedgrenen 1.19.x:

  • Muligheten for verifikasjon av klientsertifikater med involvering av eksterne tjenester basert pĂ„ OCSP-protokollen (Online Certificate Status Protocol) er lagt til. For Ă„ aktivere verifikasjonen er direktivet ssl_ocsp foreslĂ„tt, for Ă„ konfigurere cache-stĂžrrelsen — ssl_ocsp_cache, for Ă„ overstyre URL-en til OCSP-behandleren angitt i sertifikatet — ssl_ocsp_responder.
  • Inkludert i sammensetningen er modulen ngx_stream_set_module, som gjĂžr det mulig Ă„ tildele verdien av en variabel server { listen 12345; set $true 1; }
  • Direktivet proxy_cookie_flags er lagt til for Ă„ spesifisere flagg for Cookies i proxyforbindelser. For eksempel, for Ă„ legge til flagget «httponly» til Cookie «one», og for alle andre Cookies flaggene «nosecure» og «samesite=strict», kan man bruke konstruksjonen: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    En lignende direktiv userid_flags for Ä legge til flagg til Cookies er ogsÄ implementert for modulen ngx_http_userid.

  • Direktivene «ssl_conf_command», «proxy_ssl_conf_command», «grpc_ssl_conf_command» og «uwsgi_ssl_conf_command» er lagt til, som lar deg angi vilkĂ„rlige parametere for konfigurasjon av OpenSSL. For eksempel, for Ă„ prioritere ChaCha-krypteringer og avansert konfigurasjon av TLSv1.3-krypteringer, kan man angi ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Direktivet «ssl_reject_handshake» er lagt til, som instruerer om Ă„ avslĂ„ alle forsĂžk pĂ„ forhandshake SSL-tilkoblinger (for eksempel kan det brukes til Ă„ avvise alle anrop med ukjente vertsnavn i SNI-feltet). 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; }
  • I postproxy er direktivet proxy_smtp_auth lagt til, som tillater autentisering av brukeren pĂ„ backend med AUTH-kommandoen og PLAIN SASL-mekanismen.
  • Det er lagt til et direktiv «keepalive_time», som begrenser den totale levetiden for hver keep-alive-tilkobling, etter hvilken tilkoblingen vil bli lukket (ikke forveksle med keepalive_timeout, som definerer inaktivitetstiden etter hvilken keep-alive-tilkoblingen lukkes).
  • En variabel $connection_time er lagt til, som gjĂžr det mulig Ă„ fĂ„ informasjon om varigheten av tilkoblingen i sekunder med millisekundpresisjon.
  • I direktivene «proxy_cache_path», «fastcgi_cache_path», «scgi_cache_path» og «uwsgi_cache_path» er det lagt til en parameter «min_free», som regulerer stĂžrrelsen pĂ„ cachen basert pĂ„ minimum stĂžrrelsen av tilgjengelig diskplass.
  • Direktivene «lingering_close», «lingering_time» og «lingering_timeout» er tilpasset for Ă„ fungere med HTTP/2.
  • Behandlingskoden for tilkoblinger i HTTP/2 er nĂŠrt knyttet til implementeringen av HTTP/1.x. StĂžtte for individuelle innstillinger «http2_recv_timeout», «http2_idle_timeout» og «http2_max_requests» er opphevet til fordel for generelle direktiver «keepalive_timeout» og «keepalive_requests». Innstillingene «http2_max_field_size» og «http2_max_header_size» er fjernet, og det anbefales Ă„ bruke «large_client_header_buffers» i stedet.
  • Det er lagt til et nytt alternativ i kommandolinjen «-e» som lar deg spesifisere en alternativ fil for logging av feil, som vil bli brukt i stedet for loggen angitt i innstillingene. I stedet for filnavn kan en spesialverdi stderr spesifiseres.

Kilde: opennet.ru

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster