Нашри nginx 1.20.0

Пас аз як соли рушд, як филиали нави устувори сервери баландсифати HTTP ва сервери бисёрпротоколии прокси nginx 1.20.0 ҷорӣ карда шуд, ки тағиротҳои дар филиали асосии 1.19.x ҷамъшударо дар бар мегирад. Дар оянда, ҳама тағйирот дар филиали устувори 1.20 бо бартараф кардани хатогиҳои ҷиддӣ ва осебпазирӣ алоқаманданд. Ба қарибӣ шохаи асосии nginx 1.21 ташаккул меёбад, ки дар он таҳияи хусусиятҳои нав идома меёбад. Барои корбарони оддӣ, ки вазифаи таъмини мутобиқат бо модулҳои тарафи сеюмро надоранд, тавсия дода мешавад, ки филиали асосиро истифода баранд, ки дар асоси он релизҳои маҳсулоти тиҷоратии Nginx Plus ҳар се моҳ ташкил карда мешаванд.

Тибқи гузориши моҳи марти Netcraft, nginx дар 20.15% ҳамаи сайтҳои фаъол истифода мешавад (як сол пеш 19.56%, ду сол пеш 20.73%), ки ба ҷои дуюм дар маъруфият дар ин категория мувофиқат мекунад (ҳиссаи Apache ба 25.38% рост меояд. (як сол пеш 27.64%), Google - 10.09%, Cloudflare - 8.51%. Дар баробари ин, ҳангоми баррасии ҳама сайтҳо, nginx пешсафи худро нигоҳ дошта, 35.34% бозорро ишғол мекунад (як сол пеш 36.91%, ду сол пеш - 27.52%, дар ҳоле ки ҳиссаи Apache ба 25.98% рост меояд, OpenResty (платформа дар асоси nginx ва LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.

Дар байни миллионҳо сайтҳои аз ҳама боздидшуда дар ҷаҳон, ҳиссаи nginx 25.55% (як сол пеш 25.54%, ду сол пеш 26.22%) аст. Дар айни замон тақрибан 419 миллион вебсайт Nginx (459 миллион сол пеш) кор мекунанд. Мувофиқи маълумоти W3Techs, nginx дар 33.7% сайтҳои аз як миллион боздидшуда истифода мешавад, дар моҳи апрели соли гузашта ин нишондод 31.9%, соли пеш 41.8% буд (паҳншавиро бо гузаштан ба баҳисобгирии алоҳидаи Cloudflare http шарҳ медиҳад. сервер). Ҳиссаи Apache дар тӯли сол аз 39.5% то 34% ва саҳми Microsoft IIS аз 8.3% то 7% коҳиш ёфт. Ҳиссаи LiteSpeed ​​аз 6.3% то 8.4% ва Node.js аз 0.8% то 1.2% афзоиш ёфт. Дар Русия nginx дар 79.1% сайтҳои аз ҳама боздидшуда истифода мешавад (як сол пеш – 78.9%).

Такмилҳои назаррасе, ки ҳангоми таҳияи филиали болоравии 1.19.x илова карда шудаанд:

  • Имконияти тасдиқи сертификатҳои муштарӣ бо истифода аз хидматҳои беруна дар асоси протоколи OCSP (Протоколи статуси сертификати онлайн) илова карда шуд. Барои фаъол кардани чек, дастури ssl_ocsp барои танзими андозаи кэш - ssl_ocsp_cache, барои аз нав муайян кардани URL-и коркардкунандаи OCSP дар сертификат - ssl_ocsp_responder пешниҳод карда мешавад.
  • Модули ngx_stream_set_module дохил карда шудааст, ки ба шумо имкон медиҳад, ки ба сервери тағирёбанда арзиш таъин кунед { гӯш кунед 12345; $true 1 таъин кунед; }
  • Иловаи директива proxy_cookie_flags барои муайян кардани парчамҳо барои кукиҳо дар пайвастҳои прокси. Масалан, барои илова кардани парчами "httponly" ба куки "як" ва парчамҳои "nosecure" ва "samesite=strict" барои ҳамаи кукиҳои дигар, шумо метавонед сохти зеринро истифода баред: proxy_cookie_flags танҳо як httpon; proxy_cookie_flags ~ nosecure samesite=қатъӣ;

    Дастури шабеҳи userid_flags барои илова кардани парчамҳо ба кукиҳо низ барои модули ngx_http_userid амалӣ карда мешавад.

  • Дастурҳои иловашудаи "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" ва "uwsgi_ssl_conf_command", ки бо онҳо шумо метавонед параметрҳои ихтиёриро барои танзими OpenSSL танзим кунед. Масалан, барои афзалият додан ба рамзҳои ChaCha ва конфигуратсияи пешрафтаи рамзҳои TLSv1.3, шумо метавонед ssl_conf_command Имконот PrioritizeChaCha-ро муайян кунед; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Директиваи "ssl_reject_handshake" илова карда шуд, ки дастур медиҳад, ки ҳама кӯшишҳои гуфтушунид оид ба пайвастҳои SSL рад карда шаванд (масалан, мумкин аст барои рад кардани ҳама зангҳо бо номҳои мизбони номаълум дар майдони SNI истифода шавад). сервер {гуш кунед 443 ssl; ssl_reject_handshake фаъол; } сервер {гуш кунед 443 ssl; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • Директиваи proxy_smtp_auth ба прокси почта илова карда шуд, ки ба шумо имкон медиҳад, ки корбарро бо истифода аз фармони AUTH ва механизми PLAIN SASL тасдиқ кунед.
  • Директиваи "keepalive_time" илова карда шуд, ки умри умумии ҳар як пайвасти зиндаро маҳдуд мекунад ва пас аз он пайвастшавӣ баста мешавад (набояд бо keepalive_timeout, ки вақти ғайрифаъолиятро муайян мекунад, ки пас аз он пайвасти нигоҳдории зинда баста мешавад).
  • Тағйирёбандаи $connection_time илова карда шуд, ки тавассути он шумо метавонед дар бораи давомнокии пайвастшавӣ дар сонияҳо бо дақиқии миллисония маълумот гиред.
  • Ба дастурҳои "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" ва "uwsgi_cache_path" параметри "min_free" илова карда шудааст, ки андозаи кэшро дар асоси муайян кардани андозаи ҳадди ақали фазои диск танзим мекунад.
  • Директиваҳои "lingering_close", "lingering_time" ва "lingering_timeout" барои кор бо HTTP/2 мутобиқ карда шудаанд.
  • Рамзи коркарди пайвастшавӣ дар HTTP/2 ба татбиқи HTTP/1.x наздик аст. Дастгирии танзимоти инфиродии "http2_recv_timeout", "http2_idle_timeout" ва "http2_max_requests" ба манфиати дастурҳои умумии "keepalive_timeout" ва "keepalive_requests" қатъ карда шуд. Танзимоти "http2_max_field_size" ва "http2_max_header_size" хориҷ карда шудаанд ва ба ҷои "large_client_header_buffers" бояд истифода шаванд.
  • Опсияи нави сатри фармони "-e" илова карда шуд, ки ба шумо имкон медиҳад файли алтернативӣ барои навиштани сабти хатогиҳо, ки ба ҷои сабти дар танзимот нишондодашуда истифода мешавад, муайян кунед. Ба ҷои номи файл, шумо метавонед арзиши махсуси stderr -ро муайян кунед.

Манбаъ: opennet.ru

Илова Эзоҳ