Sawise setahun pembangunan, cabang stabil anyar saka server HTTP kinerja dhuwur lan server proxy multi-protokol nginx 1.26.0 wis diterbitake, kang nggabungake owah-owahan akumulasi ing cabang utama 1.25.x. Ing mangsa ngarep, kabeh owah-owahan ing cabang stabil 1.26 bakal ana hubungane karo ngilangi kesalahan lan kerentanan sing serius. Ora suwe cabang utama nginx 1.27 bakal dibentuk, ing ngendi pangembangan fitur-fitur anyar bakal diterusake. Kanggo pangguna biasa sing ora duwe tugas kanggo njamin kompatibilitas karo modul pihak katelu, disaranake nggunakake cabang utama, kanthi basis rilis produk komersial Nginx Plus dibentuk saben telung wulan.
Miturut laporan Maret saka Netcraft, udakara 243 yuta situs web sing mbukak Nginx (289 yuta setaun kepungkur). Nginx digunakake ing 18.15% kabeh situs aktif (setaun kepungkur 18.94%, rong taun kepungkur 20.08%), sing cocog karo posisi nomer loro ing popularitas ing kategori iki (Pangsa Apache cocog karo 20.09% (setaun kepungkur 20.52, rong taun). kepungkur 22.58%), Cloudflare - 14.12% (11.32%, 10.42%), Google - 10.41% (9.89%, 8.89%) Ing wektu sing padha, nalika nimbang kabeh situs, nginx nahan kepemimpinan lan manggoni 22.31% saka pasar. (setaun kepungkur 25.94%, rong taun kepungkur - 31.13%), dene saham Apache cocog karo 20.17% (20.58, 23.08%), Cloudflare - 11.24% (10.17, 5.49%), OpenResty (platform basis nginx lan LuaJIT7.93) - 7.94 % (8.01%, XNUMX%).
Antarane yuta situs sing paling kerep dibukak ing donya, pangsa nginx yaiku 20.63% (setaun kepungkur 21.37%, rong taun kepungkur 21.79%), Cloudflare - 22.59% (setaun kepungkur 21.62%), Apache httpd - 20.09% (21.18). %). Miturut W3Techs, nginx digunakake ing 34.3% saka yuta situs sing paling kerep dibukak, ing April taun kepungkur angka iki 34.5%, taun sadurunge - 33.1%. Pangsa Apache mudhun ing taun saka 32.2% dadi% 30.1, lan pangsa Microsoft IIS mudhun saka 5.6% dadi 4.8%. Pangsa Node.js mundhak saka 2.4% dadi 3.2%, lan pangsa LiteSpeed saka 11.8% dadi 12.9%.
Dandan sing paling penting ditambahake sajrone pangembangan cabang hulu 1.25.x:
- Ditambahake modul ngx_http_v3 kanthi dhukungan eksperimen kanggo protokol HTTP / 3. Kanggo mbangun modul, opsi "--with-http_v3_module" kasedhiya. HTTP / 3 nemtokake panggunaan protokol QUIC (Sambungan Internet UDP Cepet) minangka transportasi kanggo HTTP / 2. QUIC minangka extension saka protokol UDP sing ndhukung multiplexing saka macem-macem sambungan lan nyedhiyakake cara enkripsi sing padha karo TLS / SSL. Protokol iki digawe ing 2013 dening Google minangka alternatif kanggo kombinasi TCP + TLS kanggo Web, ngrampungake masalah karo persiyapan sambungan dawa lan rembugan kaping ing TCP lan mbusak telat nalika paket ilang nalika transfer data.
- A direktif "http2" kapisah wis ditambahake kanggo selektif mbisakake protokol HTTP / 2 ing sambungan karo server (bisa digunakake ing kapisah "server" pamblokiran). Parameter "http2" ing arahan "ngrungokake" wis ora digunakake.
- Perlindhungan marang aktivitas ora normal saka klien HTTP / 2 wis dikuatake, lan, utamane, nglawan serangan DoS saka kelas "Reset Rapid", ing ngendi akeh benang langsung reset digawe ing siji sambungan HTTP / 2. Ing konfigurasi standar, serangan kasebut diwatesi kanthi watesan jumlah panjalukan saben sambungan "keepalive_requests" (sawise saben 1000 panjaluk sambungan bakal direset) lan watesan "limit_req". Kanggo nanggapi sadurunge banjir karo panjalukan liwat nomer akeh Utas, watesan tambahan wis ditambahake sing ora ngidini nggawe luwih saka 256 (2 * max_concurrent_streams) Utas anyar saben siklus Processing acara minangka standar. Watesan anyar ngidini sampeyan miwiti mblokir panjalukan sadurunge watesan sakabèhé ing jumlah benang simultan, contone nalika benang diproses kanthi ora sinkron utawa disiram.
- Dhukungan wis ditambahake menyang modul stream. server virtual, konfigurasi sing ditetepake ing blok "server { … }" nggunakake direktif server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
- Modul anyar ngx_stream_pass_module wis ditambahake, sing dirancang kanggo nerusake sambungan sing ditampa langsung menyang soket pangrungon sing ana gandhengane karo modul kayata http, stream, lan mail. stream { server { listen 12345 SSL; ssl_certificate domain.crt; ssl_certificate_key domain.key; lebokna 127.0.0.1:8000; } }
- Direktif ngrungokake modul stream ngetrapake dhukungan kanggo paramèter "ditunda" (mbisakake ditrima), "accept_filter" (filter sambungan mlebu sadurunge nelpon fungsi nampa) lan "setfib" (nyetel tabel routing).
- Kanggo sawetara arsitektur, dhukungan wis dileksanakake kanggo nemtokake ukuran blok (garis cache) sing digunakake kanggo nransfer data antarane cache CPU lan memori.
- Manajemen buffer sing luwih apik sing digunakake nalika ndeteksi sambungan HTTP / 2 kanthi otomatis.
- Kinerja konfigurasi peluncuran kanthi akeh arahan "lokasi" wis apik.
- Dhukungan kanggo teknologi push Server ing HTTP/2 wis dibusak.
- Arahan "ssl", sing sadurunge ora digunakake, wis mandheg.
Rilis stabil proyek FreeNginx 1.26.0, sing ngembangake garpu Nginx, diterbitake rong minggu kepungkur. Garpu kasebut dikembangake dening Maxim Dunin, salah sawijining pangembang utama Nginx. FreeNginx dipanggonke minangka proyek nirlaba sing nyedhiyakake pangembangan basis kode Nginx tanpa campur tangan perusahaan.
Source: opennet.ru
