Po 13 mesecih razvoja izdana nova stabilna veja Visoko zmogljiv strežnik HTTP in večprotokolni proxy strežnik nginx 1.22.0, ki vključuje spremembe, nabrane v glavni veji 1.21.x.
V prihodnosti, vse spremembe v stabilni veji 1.22 bodo povezane z odpravljanjem napak in resne ranljivosti. Kmalu bo oblikovana glavna veja nginxa 1.23, v kateri se bo nadaljeval razvoj novih funkcij.
Za navadne uporabnike, ki nimajo naloge zagotavljanja združljivosti z moduli drugih proizvajalcev, je priporočljiva uporaba glavne veje, na podlagi katere se vsake tri mesece oblikujejo različice komercialnega izdelka Nginx Plus.
Glavne novice v nginxu 1.22.0
V tej novi različici nginxa 1.22.0, ki je predstavljena, je Izboljšana zaščita pred napadi razreda HTTP Request Smuggling v sistemih front-end-backend, ki vam omogočajo dostop do vsebine zahtev drugih uporabnikov, obdelanih v isti niti med sprednjim in zadnjim delom. Nginx zdaj vedno vrne napako pri uporabi metode CONNECT; s hkratnim določanjem glav "Content-Length" in "Transfer-Encoding"; ko so v nizu poizvedbe, imenu glave HTTP ali vrednosti glave »Host« presledki ali kontrolni znaki.
Druga novost, ki izstopa v tej novi različici, je ta dodana podpora za spremenljivke direktivam "proxy_ssl_certificate", "proxy_ssl_certificate_key", "grpc_ssl_certificate", "grpc_ssl_certificate_key", "uwsgi_ssl_certificate" in "uwsgi_ssl_certificate_key".
Poleg tega je tudi omenjeno, da je bil dodan podpora za način "cevovoda". pošiljanje več zahtev POP3 ali IMAP na isti povezavi v poštni proxy modul, kot tudi nova direktiva "max_errors", ki določa največje število napak protokola, po katerih bo povezava zaprta.
Glave "Auth-SSL-Protocol" in "Auth-SSL-Cipher" se posredujeta strežniku za preverjanje pristnosti poštnega proxyja, plus podpora za razširitev ALPN TLS je bila dodana prenosnemu modulu. Za določitev seznama podprtih protokolov ALPN (h2, http/1.1) je predlagana direktiva ssl_alpn, za pridobitev informacij o protokolu ALPN, dogovorjenem z naročnikom, pa spremenljivka $ssl_alpn_protocol.
Od ostalih sprememb ki izstopajo:
- Blokiranje zahtev HTTP/1.0, ki vključujejo glavo HTTP "Transfer-Encoding" (uvedeno v različici protokola HTTP/1.1).
- Platforma FreeBSD ima izboljšano podporo za sistemski klic sendfile, ki je zasnovan tako, da organizira neposreden prenos podatkov med deskriptorjem datoteke in vtičnico. Način pošiljanja (SF_NODISKIO) je trajno omogočen in dodana je bila podpora za način pošiljanja datoteke (SF_NOCACHE).
- Oddajnemu modulu je dodan parameter "fastopen", ki omogoča način "TCP Fast Open" za poslušalne vtičnice.
- Popravljeno ubežanje znakov """, "<", ">", "\", "^", "`", "{", "|" in "}" pri uporabi proxyja s spremembo URI.
- Modulu toka je bila dodana direktiva proxy_half_close, s katero je mogoče konfigurirati obnašanje, ko je povezava proxy TCP zaprta na eni strani ("TCP pol-zaprto").
- Modulu ngx_http_mp4_module je dodana nova direktiva mp4_start_key_frame za pretakanje videa iz ključnega okvirja.
- Dodana spremenljivka $ssl_curve za vrnitev vrste eliptične krivulje, izbrane za pogajanja s ključi v seji TLS.
- Direktiva sendfile_max_chunk je spremenila privzeto vrednost na 2 megabajta;
- Podpora zagotovljena s knjižnico OpenSSL 3.0. Dodana podpora za klic SSL_sendfile() pri uporabi OpenSSL 3.0.
- Sestavljanje s knjižnico PCRE2 je privzeto omogočeno in zagotavlja funkcije za obdelavo regularnih izrazov.
- Pri nalaganju strežniških potrdil je bila prilagojena uporaba stopenj varnosti, ki so podprte od OpenSSL 1.1.0 in so nastavljene prek parametra "@SECLEVEL=N" v direktivi ssl_ciphers.
- Odstranjena podpora za zbirko izvoznih šifrantov.
- V API-ju za filtriranje telesa zahteve je medpomnjenje obdelanih podatkov dovoljeno.
- Odstranjena podpora za vzpostavljanje povezav HTTP/2 z uporabo razširitve Next Protocol Negotiation (NPN) namesto ALPN.
Končno če vas zanima več o tem, lahko preverite podrobnosti V naslednji povezavi.