nginx 1.20.0 buraxılışı

Bir illik inkişafdan sonra, 1.20.0.x əsas filialında toplanmış dəyişiklikləri özündə birləşdirən yüksək performanslı HTTP serverinin və çox protokollu proksi server nginx 1.19-ın yeni stabil filialı təqdim edildi. Gələcəkdə stabil filial 1.20-də bütün dəyişikliklər ciddi səhvlərin və zəifliklərin aradan qaldırılması ilə bağlı olacaq. Tezliklə nginx 1.21-in əsas qolu formalaşacaq və burada yeni funksiyaların inkişafı davam edəcək. Üçüncü tərəf modulları ilə uyğunluğu təmin etmək vəzifəsi olmayan adi istifadəçilər üçün hər üç ayda bir Nginx Plus kommersiya məhsulunun buraxılışları formalaşan əsas filialdan istifadə etmək tövsiyə olunur.

Netcraft-ın mart hesabatına görə, nginx bütün aktiv saytların 20.15%-də (bir il əvvəl 19.56%, iki il əvvəl 20.73%) istifadə olunur ki, bu da bu kateqoriyada populyarlıq üzrə ikinci yerə uyğundur (Apache-nin payı 25.38%-ə uyğundur) (bir il əvvəl 27.64%), Google - 10.09%, Cloudflare - 8.51%.Eyni zamanda, bütün saytları nəzərə alsaq, nginx liderliyini qoruyub saxlayır və bazarın 35.34%-ni tutur (bir il əvvəl 36.91%, iki il əvvəl - 27.52%, Apache-nin payı 25.98%, OpenResty (nginx və LuaJIT əsasında platforma) - 6.55%, Microsoft IIS - 5.96% təşkil edir.

Dünyanın ən çox ziyarət edilən milyon saytları arasında nginx-in payı 25.55% (bir il əvvəl 25.54%, iki il əvvəl 26.22%) təşkil edir. Hal-hazırda təxminən 419 milyon veb-sayt Nginx ilə işləyir (bir il əvvəl 459 milyon). W3Techs-in məlumatına görə, nginx ən çox ziyarət edilən milyon saytdan 33.7% -də istifadə olunur, keçən ilin aprelində bu rəqəm 31.9%, bir il əvvəl - 41.8% (azalma Cloudflare http-nin ayrıca uçotuna keçidlə izah olunur) server). İl ərzində Apache-nin payı 39.5%-dən 34%-ə, Microsoft IIS-in payı isə 8.3%-dən 7%-ə düşüb. LiteSpeed-in payı 6.3%-dən 8.4%-ə, Node.js-in isə 0.8%-dən 1.2%-ə yüksəlib. Rusiyada nginx ən çox ziyarət edilən saytların 79.1%-də istifadə olunur (bir il əvvəl - 78.9%).

1.19.x upstream filialının inkişafı zamanı əlavə edilən ən diqqətəlayiq təkmilləşdirmələr:

  • OCSP (Online Certificate Status Protocol) protokolu əsasında xarici xidmətlərdən istifadə edərək müştəri sertifikatlarını yoxlamaq imkanı əlavə edilib. Yoxlamanı aktivləşdirmək üçün ssl_ocsp direktivi təklif olunur, keş ölçüsünü konfiqurasiya etmək - ssl_ocsp_cache, sertifikatda göstərilən OCSP işləyicisinin URL-ni yenidən təyin etmək - ssl_ocsp_responder.
  • Dəyişən serverə dəyər təyin etməyə imkan verən ngx_stream_set_module modulu daxildir { qulaq asın 12345; $true 1 təyin edin; }
  • Proksiləşdirilmiş bağlantılarda kukilər üçün bayraqları müəyyən etmək üçün proxy_cookie_flags direktivi əlavə edildi. Məsələn, “bir” Kuki-yə “yalnız http” bayrağını və bütün digər kukilər üçün “nosecure” və “samesite=strict” bayraqlarını əlavə etmək üçün aşağıdakı konstruksiyadan istifadə edə bilərsiniz: proxy_cookie_flags yalnız bir http; proxy_cookie_flags ~ nosecure samesite=ciddi;

    Kukilərə bayraqlar əlavə etmək üçün oxşar userid_flags direktivi ngx_http_userid modulu üçün də həyata keçirilir.

  • OpenSSL-i konfiqurasiya etmək üçün ixtiyari parametrlər təyin edə biləcəyiniz “ssl_conf_command”, “proxy_ssl_conf_command”, “grpc_ssl_conf_command” və “uwsgi_ssl_conf_command” direktivləri əlavə edildi. Məsələn, ChaCha şifrələrini və TLSv1.3 şifrələrinin təkmil konfiqurasiyasını prioritetləşdirmək üçün siz ssl_conf_command Seçimləri PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • SSL bağlantılarını müzakirə etmək üçün bütün cəhdləri rədd etməyi əmr edən "ssl_reject_handshake" direktivi əlavə edildi (məsələn, SNI sahəsində naməlum host adları ilə bütün zəngləri rədd etmək üçün istifadə edilə bilər). server { dinləmək 443 ssl; ssl_reject_handshake aktivdir; } server { 443 ssl qulaq asın; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • proxy_smtp_auth direktivi poçt proksisinə əlavə edildi və bu, AUTH əmri və PLAIN SASL mexanizmindən istifadə edərək arxa uçda istifadəçinin autentifikasiyasına imkan verir.
  • Hər bir canlı saxlama əlaqəsinin ümumi istifadə müddətini məhdudlaşdıran "keepalive_time" direktivi əlavə edildi, bundan sonra əlaqə bağlanacaq (keepalive_timeout ilə qarışdırılmamalıdır, hansı ki, canlı saxlama əlaqəsinin bağlanmasından sonra fəaliyyətsizlik vaxtını müəyyən edir).
  • $connection_time dəyişəni əlavə edildi, onun vasitəsilə siz millisaniyəlik dəqiqliklə saniyələrlə əlaqə müddəti haqqında məlumat əldə edə bilərsiniz.
  • “Proxy_cache_path”, “fastcgi_cache_path”, “scgi_cache_path” və “uwsgi_cache_path” direktivlərinə “min_free” parametri əlavə edilmişdir ki, bu da boş disk sahəsinin minimum ölçüsünün müəyyən edilməsi əsasında keş ölçüsünü tənzimləyir.
  • "Lingering_close", "longering_time" və "longering_timeout" direktivləri HTTP/2 ilə işləmək üçün uyğunlaşdırılıb.
  • HTTP/2-də əlaqə emal kodu HTTP/1.x tətbiqinə yaxındır. "http2_recv_timeout", "http2_idle_timeout" və "http2_max_requests" fərdi parametrlərinə dəstək "keepalive_timeout" və "keepalive_requests" ümumi direktivlərinin xeyrinə dayandırılıb. "http2_max_field_size" və "http2_max_header_size" parametrləri silindi və əvəzinə "large_client_header_buffers" istifadə edilməlidir.
  • Parametrlərdə göstərilən jurnalın əvəzinə istifadə ediləcək səhv jurnalının yazılması üçün alternativ faylı təyin etməyə imkan verən yeni "-e" əmr satırı seçimi əlavə edildi. Fayl adının əvəzinə stderr xüsusi dəyərini təyin edə bilərsiniz.

Mənbə: opennet.ru

Добавить комментарий