nginx 1.20.0 iznākums

Pēc gada izstrādes ir izlaista jaunā stabilā versija augstas veiktspējas HTTP servera un daudzprotokolu starpniekservera nginx 1.20.0, kas iekļauj izmaiņas, kas uzkrājušās galvenajā versijā 1.19.x. Turpmākas izmaiņas stabilajā versijā 1.20 būs saistītas ar nopietnu kļūdu un ievainojamību novēršanu. Drīz tiks izveidota galvenā versija nginx 1.21, kur turpināsies jaunu iespēju attīstība. Parastajiem lietotājiem, kuriem nav nepieciešams nodrošināt saderību ar trešo pušu moduļiem, ieteicams izmantot galveno versiju, uz kuras pamata reizi trīs mēnešos tiek izstrādāti komerciālā produkta Nginx Plus izlaidumi.

Saskaņā ar Netcraft martā publicēto ziņojumu nginx tiek izmantots 20,15% no visām aktīvajām vietnēm (pirms gada 19,56%, pirms diviem gadiem 20,73%), kas atbilst otrajai vietai popularitātes ziņā šajā kategorijā (Apache daļa ir 25,38% (pirms gada 27,64%), Google — 10,09%, Cloudflare — 8,51%. Apskatot visus tīmekļus, nginx saglabā līderpozīciju, aizņemot 35,34% tirgus (pirms gada 36,91%, pirms diviem gadiem — 27,52%), kamēr Apache daļa ir 25,98%, OpenResty (platforma, kas balstīta uz nginx un LuaJIT) — 6,55%, Microsoft IIS — 5,96%.

Starptautisko pietiekami populāro vietņu vidū nginx daļa ir 25,55% (pirms gada 25,54%, pirms diviem gadiem 26,22%). Šobrīd apmēram 419 miljoni vietņu darbojas uz nginx bāzes (pirms gada 459 miljoni). Saskaņā ar W3Techs, nginx tiek izmantots 33,7% no miljonu populārākajām vietnēm, pērnā aprīlī šis rādītājs bija 31,9%, pirms diviem gadiem — 41,8% (kritums izskaidrojams ar pāreju uz atsevišķu Cloudflare HTTP servera uzskaiti). Apache daļa gada laikā samazinājās no 39,5% līdz 34%, bet Microsoft IIS daļa no 8,3% līdz 7%. LiteSpeed daļa pieauga no 6,3% līdz 8,4%, savukārt Node.js no 0,8% līdz 1,2%. Krievijā nginx tiek izmantots 79,1% no visapmeklētākajām vietnēm (pirms gada — 78,9%).

Visnozīmīgākās uzlabošanas, kas pievienotas galvenās versijas 1.19.x veidošanas procesā:

  • Tika pievienota iespēja pārbaudīt klientu sertifikātus, iesaistot ārējas pakalpojumu, pamatojoties uz OCSP (Online Certificate Status Protocol) protokolu. Lai aktivizētu pārbaudi, tika piedāvāta direktīva ssl_ocsp, lai konfigurētu keša izmēru — ssl_ocsp_cache, lai pārrakstītu OCSP apstrādātāja URL, kas norādīts sertifikātā — ssl_ocsp_responder.
  • Modulis ngx_stream_set_module ir iekļauts, ļaujot piešķirt mainīgā vērtību server { listen 12345; set $true 1; }
  • Pievienota direktīva proxy_cookie_flags, lai norādītu karogus Cookie starpniecības savienojumos. Piemēram, lai pievienotu Cookie "one" karogu "httponly", kā arī visiem citiem Cookie karogus "nosecure" un "samesite=strict", var izmantot konstrukciju: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    Līdzīga direktīva userid_flags, lai pievienotu karogus Cookie, arī īstenota modulis ngx_http_userid.

  • Pievienotas direktīvas "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" un "uwsgi_ssl_conf_command", ar kurām var noteikt dažādus parametrus OpenSSL konfigurēšanai. Piemēram, lai prioritizētu chaCha šifrēšanas algoritmus un paplašinātu TLSv1.3 šifrēšanas iestatījumus, var norādīt ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Pievienota direktīva "ssl_reject_handshake", kas nosaka noraidīt visus sarunu kārtošanas mēģinājumus. SSL-savienojumiem (piemēram, to var izmantot, lai noraidītu visus pieprasījumus no nepazīstamām hostu nosaukumu SNI laukā). 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; }
  • E-pasta starpniecības modulī pievienota direktīva proxy_smtp_auth, kas ļauj autentificēt lietotāju aizmugurē ar AUTH komandu un PLAIN SASL mehānismu.
  • Pievienota direktīva "keepalive_time", kas ierobežo katra keep-alive savienojuma kopējo mūža ilgumu, pēc kura savienojums tiks slēgts (nesajaukt ar keepalive_timeout, kas nosaka neaktivitātes laiku, pēc kura keep-alive savienojums tiek slēgts).
  • Pievienota mainīgā $connection_time, ar kuru var iegūt informāciju par savienojuma ilgumu sekundēs ar milisekundēm precizitāti.
  • Direktīvās "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" un "uwsgi_cache_path" pievienots parametrs "min_free", kas regulē keša lielumu, pamatojoties uz minimālā brīvā diska vietas apjoma noteikšanu.
  • Direktīvas "lingering_close", "lingering_time" un "lingering_timeout" pielāgotas darbam ar HTTP/2.
  • HTTP/2 savienojumu apstrādes kods ir līdzīgs HTTP/1.x īstenojumam. Atsevišķo iestatījumu „http2_recv_timeout”, „http2_idle_timeout” un „http2_max_requests” atbalsts ir pārtraukts, lai aizstātu tos ar kopējiem direktīviem „keepalive_timeout” un „keepalive_requests”. Tika izņemti iestatījumi „http2_max_field_size” un „http2_max_header_size”, kuru vietā jāizmanto „large_client_header_buffers”.
  • Pievienota jauna komandrindas opcija „-e”, kas ļauj norādīt alternatīvu kļūdu žurnāla failu, kas tiks izmantots vietā esošā žurnāla, kas definēts iestatījumos. Faila nosaukuma vietā var norādīt īpašu vērtību stderr.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster