HAProxy kullanarak ana bilgisayar adına dayalı trafik nasıl yönlendirilir?


17

Diğer çeşitli bağlantı noktalarını dinleyen bir grup uygulama sunucusu kurarak HAProxy ile bazı ilk başarılarım oldu.

Artık bir bağlantı noktasında dinleyen başka bir web sunucum var ve yapılandırmamda ana bilgisayar adına göre trafik akışı sağlamak için ne gibi değişiklikler yapmak istiyorum.

Aşağıdaki varsayım, geçerli kurulumdur:

  • apache web sunucum examplecom'da çalışıyor: 8001
  • grup uygulama sunucum 0.0.0.0:8081, 0.0.0.0:8082, 0.0.0.0:8083
global
  log 127.0.0.1 local0
  log 127.0.0.1 local1 notice
  maxconn 4096
  debug
  #quiet
  #user haproxy
  #group haproxy

defaults
  log global
  mode  http
  option  httplog
  option  dontlognull
  retries 3
  redispatch
  maxconn 2000
  contimeout  5000
  clitimeout  50000
  srvtimeout  50000

listen appservers 0.0.0.0:80
  mode http
  balance roundrobin
  option httpclose
  option forwardfor
  #option httpchk HEAD /check.txt HTTP/1.0
  server  inst1 0.0.0.0:8081 cookie server01 check inter 2000 fall  3
  server  inst2 0.0.0.0:8082 cookie server02 check inter 2000 fall  3
  server  inst3 0.0.0.0:8083 cookie server01 check inter 2000 fall  3
  server  inst4 0.0.0.0:8084 cookie server02 check inter 2000 fall  3
  capture cookie vgnvisitor= len 32

(^ kurulumundaki diğer yorumlarınızı bekliyoruz.)

Şimdi aynı şekilde devam etmek istiyorum, ancak ek olarak - hostname myspecialtopleveldomain <dot> com ise, o zaman <dot> com: 8001 örneğine trafik akışı yapmak istiyorum

burada B


2
Ön uç ve arka uç yapılandırmasını kullanarak ana makine adına bağlı olarak farklı sunuculara istek göndermek mümkündür. Sorunuz biraz kafa karıştırıcı, example.com:8001'den bahsediyorsunuz, ancak hiçbir yerde yapılandırmada değil. 80 numaralı bağlantı noktasında myspecialtopleveldomain.com adresine yapılan isteklerin hedefi bu mu? Belki de kullanıcıların gireceği ve bu URL'lerin haproxy ile gönderilmesini istediğiniz birkaç örnek URL verebilirsiniz.
ThatGraemeGuy

Yanıtlar:


24

İşte bir örnek:

frontend http
        bind 0.0.0.0:80
        default_backend www
        # NAT static host names and static paths in other hostnames to a different backend
        acl host_static hdr_beg(host) -i static.
        acl url_static  path_beg         /static
        use_backend static if host_static or url_static

backend www
        balance roundrobin
        server  qa1 10.177.1.81:80
        server  qa2 10.177.1.45:80

backend static
        balance roundrobin
        server  media1 10.177.0.86:80

Örnek yapılandırma için teşekkürler, sadece yük dengeleyici yapılandırmamızı tamamlamama yardımcı
oldunuz
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.