Izdaja HTTP/TCP uravnoteževalnika HAProxy 3.0

Po petih letih od nastanka veje 2.0 je bil objavljen izpust uravnoteževalnika obremenitve HAProxy 3.0, ki omogoča distribucijo HTTP prometa in poljubnih TCP zahtevkov med skupino strežnikov, ob upoštevanju različnih dejavnikov (na primer preverja razpoložljivost strežnikov, ocenjuje raven obremenitve, ima sredstva za zaščito pred DDoS napadi) in izvaja osnovno filtriranje podatkov (na primer, lahko analizira HTTP glave, filtrira prenos neveljavnih parametrov zahtevka, blokira SQL injekcije in XSS, povezuje agente za obdelavo vsebine). HAProxy se lahko uporablja tudi za usklajevanje interakcije komponent v sistemih, ki temeljijo na mikroservisni arhitekturi. Koda projekta je napisana v jeziku C in je na voljo pod licenco GPLv2. Projekt se uporablja na mnogih velikih spletnih straneh, vključno z Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter in Vimeo.

Veja HAProxy 3.0 je uvrščena med izdaje z dolgo podporo (LTS) in bo podprta do leta 2029. Ključne spremembe:

  • V konfiguracijo je dodana nova sekcija 'crt-store' za nastavitev shranjevanja in uporabe TLS certifikatov. V nasprotju s prej dostopno nastavitev crt-list je v crt-store skladišče certifikatov ločeno od njihove uporabe na sprednjem koncu, kar omogoča posamezno določitev mesta shranjevanja vsakega od komponent certifikata (datoteke s certifikati, ključi in OCSP podatki).
  • Dodana je možnost določanja omejitev za zahtevke z uporabo HTTP/2, ki jih protokol dovoljuje, vendar lahko povzročijo težave. Na primer, pošiljanje toka okvirjev CONTINUATION lahko privede do DoS napada Continuation flood.
  • Dodana je nova konfiguracijska direktiva 'guid', ki jo je mogoče uporabiti v sekcijah 'frontend', 'backend' in 'listen'. Direktiva povezuje edinstven identifikator s temi sekcijami, kar omogoča ohranjanje statisitke povezane s sekcijo po ponovnem zagonu (stanje strani Stats ne bo ponastavljeno). Za shranjevanje statistike v datoteko je dodana nova ukaz 'dump stats-file', za branje iz datoteke po ponovnem zagonu pa nova konfiguracijska direktiva 'stats-file'.
  • Razširjene so možnosti za uravnoteženje sporočil Syslog. Dodana je možnost dodeljevanja težnostnih koeficientov za vrstice v dnevniku backendov, povezanih s strežniki.
  • Dodana je podrška za formatiranje logova u JSON i CBOR prikazu.
  • Prošireni su podaci koje je moguće dobiti korišćenjem funkcija za izvlačenje informacija, na primer, moguće je zatražiti podatke o broju otvorenih HTTP sesija za backend i frontend, veličini reda čekanja za obradu zahteva i dozvoljenom broju istovremenih sesija.
  • Povećana je performansa jednosmjernih Lua skripti koje se učitavaju pomoću direktive „lua-load“.
  • Značajno je povećana performansa prostorija za skladištenje u memoriji, kreiranih pomoću direktive stick-table. Na primer, na sistemu sa 80 niti, performanse su porasle 6 puta.
  • U konfiguracijama sa više sajtova, gde TLS-certifikat se bira na osnovu identifikatora hosta, prosleđenog pomoću TLS ekstenzije SNI, dodat je argument „default-crt“, koji omogućava postavljanje podrazumevanog sertifikata koji se bira ako nije moguće uskladiti postojeće sertifikate sa sajtom.
  • Dodate su akcije „set-fc-tos“ i „set-bc-tos“ za umetanje u IP pakete polja DS (Differentiated Services), koja određuju prioritet saobraćaja sa strane backend-a ili frontend-a.
  • Dodate su akcije „set-fc-mark“ i „set-bc-mark“, pomoću kojih je moguće označiti IP pakete sa strane backend-a ili frontend-a, na primer, za kasniju vezu sa određenom tabelom rutiranja.
  • Dodata je podrška za kreiranje identifikatora u UUIDv7 formatu.
  • Implementirana je mogućnost korišćenja prefiksa „@virt“ za kreiranje virtuelnih ACL i Map datoteka, koje se ne čuvaju na disku. Sadržaj virtuelnih ACL i Map datoteka se dodaje i uklanja pomoću Runtime API. Takođe je dostupan prefiks „@opt“ pod kojim se virtuelne datoteke primenjuju samo kada ne postoji stvarna datoteka na disku.
  • Izvršene su promene koje krše unazad kompatibilnost: zabranjeno je slanje više komandi u Runtime API u jednom zahtevu, sa razdvajanjem novim redom; zabranjeno je postavljanje ključne reči „enabled“ za dinamičke strežnikov; pooštrena je provera nestandardnih URI.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster