Haproxy Load Balancing Setup basierend auf URL

Haproxy Load Balancing Setup basierend auf URL

Bis heute habe ich die grundlegenden Haproxy -Einstellungen verwendet, heute fand ich eine Aufgabe über die Auswahl der Backend -Server -Basis für die URL -Anfrage. Während ich an dieser Aufgabe arbeitete, habe ich etwas über Haproxy ACLS gelernt.

Aufgabe: Ich habe WordPress als http: // domainname installiert.com/blog . Diese Domäne wird von 2 Back-End-Server ausgeführt und von Haproxy ausgeglichen.

Netzwerkszenario für dieses Setup

  • Haproxy Server: 192.168.1.90
  • Web1: 192.168.1.103
  • Web2: 192.168.1.105
  • Domäne: Tecadmin.Netz

Das folgende Beispiel enthält ACL für URL_BEG. URL_BEG stimmt mit der in der URL verwendeten Zeichenfolge überein. Verwenden der URL alle Anfragen, beginnend mit /Blog (Tecadmin.Net/Blog) wird zu Web2 (192.168.1.105) Server. Alle anderen Anfragen werden je nach Lastausgleichsalgorithmus zu einem von zwei Server (Web1, Web2) umgeleitet.

Hier ist ein kurzes Beispiel für die Verwendung von URL_BEG ACL:

Globales Protokoll 127.0.0.1 LOCAL0 INFORMATION MAXCONN 50000 Dämon-Standard-Protokoll-Protokoll-Modus HTTP-Option HTTPLOGOP OPTION DONTLAGNULL CONTIMEOut 120000 Clitimeout 120000 SRVTimeout 120000 Option Forward For Option HTTP-Server-Clase # Konfiguration für HTTP-Site Frontend HTTP-In Bind 192.168.1.90:80 ACL IS_BLOG URL_BEG /Blog Use_backend tecadmin_blog Wenn is_blog default_backend tecadmin_websit Backend Tecadmin_Blog -Modus http Balance RoundRobin # Balancing Algorithmus Option HTTPCHK OPTOR FORTFOR FORT 2 STOVEL Web2 192 laden.168.1.105: 80 Gewicht 1 MaxConn 512 Backend tecadmin_website Modus HTTP Balance RoundRobin # Lastalgorithmus Option HTTPCHK Option Forwardfor Server Web1 192.168.1.103: 80 Gewicht 1 MaxConn 512 Überprüfen Sie Server Web2 192.168.1.105: 80 Gewicht 1 Maxconn 512 Überprüfen Sie 

Ich hoffe .In Bezug auf die für die ACL verfügbaren vollständigen Konfigurationseinstellungen sind im Haproxy -Konfigurationsdokument aufgeführt,