Utgivningen av HTTP/TCP-lastbalanceraren HAProxy 3.0

Fem Är efter bildandet av version 2.0 har HAProxy 3.0 slÀppts, en lastbalanserare som gör det möjligt att fördela HTTP-trafik och godtyckliga TCP-förfrÄgningar mellan en grupp servrar, med hÀnsyn till mÄnga faktorer (till exempel kontrollerar serververksamhet, bedömer belastningsnivÄer, har medel för att motverka DDoS) och genomför primÀr filtrering av data (till exempel kan HTTP-rubriker analyseras, överföring av ogiltiga förfrÄgningsparametrar filtreras, SQL-injektion och XSS blockeras, och innehÄllsbehandlingsagenter kan kopplas in). HAProxy kan ocksÄ anvÀndas för att koordinera interaktionen mellan komponenter i mikrotjÀnarbaserade system. Projektkoden Àr skriven i C och slÀpps under GPLv2-licensen. Projektet anvÀnds av mÄnga stora webbplatser, inklusive Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter och Vimeo.

HAProxy 3.0 har klassificerats som en version med lÄngsiktig support (LTS) och kommer att underhÄllas fram till 2029. NyckelÀndringar:

  • En ny sektion "crt-store" har lagts till i konfigurationen för att stĂ€lla in lagring och anvĂ€ndning av TLS-certifikat. Till skillnad frĂ„n den tidigare tillgĂ€ngliga instĂ€llningen crt-list, separerar crt-store lagringen av certifikat frĂ„n deras anvĂ€ndning i frontend, vilket möjliggör individuell specifikation av lagringsplatsen för varje certifikatkomponent (filer med certifikat, nycklar och OCSP-data).
  • Möjligheten att stĂ€lla in begrĂ€nsningar för förfrĂ„gningar som anvĂ€nder HTTP/2, som protokollet tillĂ„ter, men som kan skapa problem, har lagts till. Till exempel kan skickandet av en CONTINUATION-ram leda till en DoS-attack, kallad Continuation flood.
  • En ny konfigurationsdirektiv "guid" har lagts till, som kan anvĂ€ndas i sektioner som "frontend", "backend" och "listen". Direktivet kopplar en unik identifierare till dessa sektioner, vilket gör det möjligt att behĂ„lla relaterad statistik efter omstart (statussidan Stats kommer inte att Ă„terstĂ€llas). För att spara statistik i en fil har en ny kommando "dump stats-file" lagts till, och för att lĂ€sa frĂ„n filen efter omstart har en ny konfigurationsdirektiv "stats-file" lagts till.
  • Möjligheterna för lastbalansering av Syslog-meddelanden har utökats. Möjligheten att tilldela vikter till konfigurationsrader kopplade till servrar i backend-loggarna har lagts till.
  • Stöd för formatering av loggstrĂ€ngar i JSON- och CBOR-format har lagts till.
  • Data som kan hĂ€mtas med informationsutvinningsfunktioner har utökats, till exempel kan man begĂ€ra information om antalet öppna HTTP-sessioner för backend och frontend, storleken pĂ„ köer för förfrĂ„gningar och tillĂ„tet antal samtidiga sessioner.
  • Prestandan för entrĂ„diga Lua-skript som laddas med direktivet 'lua-load' har förbĂ€ttrats.
  • Prestandan för minneslagringsomrĂ„den som skapas med direktivet stick-table har ökat avsevĂ€rt. PĂ„ ett system med 80 trĂ„dar ökade prestandan sex gĂ„nger.
  • I konfigurationer med flera webbplatser, dĂ€r TLS-certifikat utvĂ€ljs baserat pĂ„ vĂ€rdidentifieraren som överförs med TLS-tillĂ€gget SNI, har en parameter 'default-crt' lagts till för att ange ett standardcertifikat som anvĂ€nds om det inte gĂ„r att matcha nĂ„gra befintliga certifikat med webbplatsen.
  • ÅtgĂ€rderna 'set-fc-tos' och 'set-bc-tos' har lagts till för att ange DS-fĂ€ltet (Differentiated Services) i IP-paket pĂ„ backend- eller frontend-sidan, vilket bestĂ€mmer trafikprioritering.
  • ÅtgĂ€rderna 'set-fc-mark' och 'set-bc-mark' har lagts till för att mĂ€rka IP-paket pĂ„ backend- eller frontend-sidan, till exempel för senare koppling till en viss routingtabell.
  • Stöd för att skapa identifierare i UUIDv7-format har lagts till.
  • Möjligheten att anvĂ€nda prefixet '@virt' för att skapa virtuella ACL- och Map-filer, som inte sparas pĂ„ disk, har implementerats. InnehĂ„llet i virtuella ACL- och Map-filer lĂ€ggs till och tas bort med hjĂ€lp av Runtime API. Prefixet '@opt' finns ocksĂ„ tillgĂ€ngligt, dĂ€r virtuella filer endast anvĂ€nds om den faktiska filen inte finns pĂ„ disken.
  • Ändringar som bryter mot bakĂ„tkompatibilitet har gjorts: det Ă€r inte lĂ€ngre tillĂ„tet att skicka flera kommandon i ett enda förfrĂ„gan i Runtime API, separerade med radbrytning; det Ă€r förbjudet att anvĂ€nda nyckelordet 'enabled' för dynamiska servrar; kontrollen av icke-standard URI:er har skĂ€rpts.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster