URL alt dizelerine dayalı olarak haproxy yol isteklerini nasıl yapabilirim?


14

Bir yük dengeleyici iki arka uçla kurulur.

İstek URI'si aşağıdaki gibi görünecektir:

http://example.com/answers/submit
http://example.com/tag-02/answers/submit

Haproxy'yi, istek URI'sinin biçimine bağlı olarak, isteğin iki arka uçtan birine veya diğerine gönderileceği şekilde nasıl yapılandırabilirim? İstekler arasındaki tek fark /tag-02/istek URI'sındadır.

Bunun için biraz açıklama içeren bir haproxy yapılandırma dosyası çok takdir edilecektir, çünkü ben haproxy'de yeniyim.

Yanıtlar:


13

ACL'leri kullanmak istiyorsunuz :

backend be1 # this is your default backend
  ...
backend be2 # this is for /tag-02 requests
  ...

frontend fe
  ...
  default_backend be1
  acl url_tag02 path_beg /tag-02
  use_backend be2 if url_tag02

HAProxy yapılandırma kılavuzunun 7. Bölümünde ACL'lerin ayrıntıları bulunur, ancak ACL'lerleuse_backend ne yapılacağını bilmek için kılavuzun 4. bölümünde gizlenmiş sihirli büyüyü bilmeniz gerekir.


1
Bildirilen ACL stili genellikle daha okunabilir ve tekrar kullanılabilir olsa da, isterseniz, ACL bildirimini use_backenddirektifin içine ekleyebilirsiniz use_backend be2 if { path_beg /tag-02 }.
womble

0

Yukarıdaki cevaba daha iyi bir örnek sunmak için, aşağıda bir yapılandırma örneği verilmiştir.

frontend https-in
   bind *:443 ssl crt /etc/ssl/server.pem
   mode http
   redirect scheme https if !{ ssl_fc }

   acl uri_help path_beg /help
   use_backend help if uri_help

backend help
    balance     roundrobin
    server      help yourbackendserver.com check
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.