HTTP/TCP balanslaşdırıcısı HAProxy 3.0 buraxılışı

2.0 filialının formalaşmasından beş il sonra, bir çox amilləri nəzərə alaraq (məsələn, mövcudluğu yoxlayır) bir qrup server arasında HTTP trafikini və ixtiyari TCP sorğularını paylamağa imkan verən HAProxy 3.0 yük balanslaşdırıcısının buraxılışı nəşr olundu. serverlərin yük səviyyəsini qiymətləndirir, DDoS əks tədbirlərinə malikdir) və ilkin məlumatların filtrasiyasını həyata keçirir (məsələn, HTTP başlıqlarını təhlil edə, səhv sorğu parametrlərinin ötürülməsini filtrləyə, SQL və XSS əvəzlənməsini bloklaya, məzmun emal agentlərini birləşdirə bilərsiniz). HAProxy mikroservis arxitekturasına əsaslanan sistemlərdə komponentlərin qarşılıqlı əlaqəsini koordinasiya etmək üçün də istifadə edilə bilər. Layihə kodu C dilində yazılmışdır və GPLv2 altında lisenziyalıdır. Layihə Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter və Vimeo da daxil olmaqla bir çox böyük saytlarda istifadə olunur.

HAProxy 3.0 filialı uzunmüddətli dəstək (LTS) buraxılışı kimi təsnif edilir və 2029-cu ilə qədər dəstəklənəcək. Əsas dəyişikliklər:

  • TLS sertifikatlarının saxlanmasını və istifadəsini konfiqurasiya etmək üçün konfiqurasiyaya yeni “crt-store” bölməsi əlavə edilmişdir. Əvvəllər mövcud crt-list parametrindən fərqli olaraq, crt-store-da sertifikat yaddaşı onların frontenddə istifadəsindən ayrılır ki, bu da sertifikat komponentlərinin hər biri (sertifikatlar, açarlar və OCSP məlumatları olan fayllar) üçün saxlama yerini ayrıca təyin etməyə imkan verir. .
  • HTTP/2-dən istifadə edən sorğular üçün protokol tərəfindən icazə verilən, lakin problemlər yarada bilən məhdudiyyətlər təyin etmək imkanı əlavə edildi. Məsələn, CONTINUATION kadrlarının axınının göndərilməsi Davamlı daşqın DoS hücumuna səbəb ola bilər.
  • "Frontend", "backend" və "qulaq asmaq" bölmələrində istifadə edilə bilən yeni "bələdçi" konfiqurasiya direktivi əlavə edildi. Direktiv bu bölmələrə unikal identifikatoru bağlayır ki, bu da yenidən başladıqdan sonra bölmə ilə əlaqəli statistikanı saxlamağa imkan verir (Statistika səhifəsinin vəziyyəti sıfırlanmayacaq). Statistikanı faylda saxlamaq üçün yeni “dump stats-file” əmri əlavə edilib və yenidən başladıqdan sonra fayldan oxumaq üçün yeni “stats-file” konfiqurasiya direktivi əlavə edilib.
  • Syslog mesajının balanslaşdırılması imkanları genişləndirilib. Backend jurnalında serverlə əlaqəli xətlər üçün çəki əmsallarını təyin etmək imkanı əlavə edildi.
  • Jurnal xətlərinin JSON və CBOR formatında formatlanması üçün əlavə dəstək.
  • Məlumat axtarışı funksiyalarından istifadə etməklə əldə edilə bilən məlumatlar genişləndirilib, məsələn, arxa və frontend üçün açıq HTTP sessiyalarının sayı, sorğunun işlənməsini gözləyən növbənin ölçüsü və eyni vaxtda icazə verilən sayı haqqında məlumat tələb edə bilərsiniz. seanslar.
  • "lua-load" direktivindən istifadə edərək yüklənmiş tək yivli Lua skriptlərinin təkmilləşdirilmiş performansı.
  • Stick-table direktivindən istifadə edərək yaradılmış yaddaşdaxili saxlama sahələrinin əhəmiyyətli dərəcədə təkmilləşdirilmiş performansı. Məsələn, 80 iplikli bir sistemdə performans 6 dəfə artdı.
  • Çoxsahəli konfiqurasiyalarda TLS sertifikatı SNI TLS uzantısı istifadə edilərək ötürülən host identifikatoruna əsasən seçildikdə, mövcud sertifikatların saytla uyğunlaşdırıla bilmədiyi təqdirdə seçilən standart sertifikatı təyin etməyə imkan verən "default-crt" arqumenti əlavə edilmişdir.
  • Trafikin prioritetini müəyyən edən DS (Fərqlənmiş Xidmətlər) sahəsini arxa və ya ön tərəfdəki IP paketlərinə əvəz etmək üçün “set-fc-tos” və “set-bc-tos” hərəkətləri əlavə edildi.
  • "set-fc-mark" və "set-bc-mark" hərəkətləri əlavə edildi, onların köməyi ilə IP paketlərini arxa və ya ön hissədə qeyd edə bilərsiniz, məsələn, müəyyən bir marşrutlaşdırma cədvəlinə sonradan bağlanmaq üçün.
  • UUIDv7 formatında identifikatorların yaradılması üçün əlavə dəstək.
  • Diskdə saxlanmayan virtual ACL və Xəritə faylları yaratmaq üçün “@virt” prefiksindən istifadə etmək imkanı həyata keçirilib. ACL və Xəritə virtual fayllarının məzmunu Runtime API istifadə edərək əlavə edilir və silinir. "@opt" prefiksi də mövcuddur, burada virtual fayllar yalnız diskdə faktiki fayl olmadıqda istifadə olunur.
  • Geriyə uyğunluğu pozan dəyişikliklər edilib: sətir ötürmə simvolu ilə ayrılmış tək bir sorğuda Runtime API-yə birdən çox əmr göndərmək qadağandır; dinamik üçün "aktivləşdirilmiş" açar söz təyin etmək serverlər; qeyri-standart URI-lərin yoxlanılması sərtləşdirilib.

Mənbə: opennet.ru

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