Назад | Перейти на главную страницу

выберите серверный бэкэнд для некоторого URL с помощью haproxy

Для какого-то URL-адреса я не хочу использовать какой-то сервер. Так что используйте другое.

Собственно у меня такая конфигурация haproxy.

global                                                                                                                                                                             
        daemon
        log 127.0.0.1   local0
        #log loghost    local0 info
        maxconn 4096
        #debug
        #quiet
        user haproxy
        group haproxy

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

        stats enable
        stats refresh 5s
        stats auth admin:123abc789xyz


# Set up application listeners here.
listen application 0.0.0.0:10000
  server localhost 127.0.0.1:10100 weight 1 maxconn 5 check
  server externe 127.0.0.1:10101 weight 1 maxconn 5 check

Например, я хочу, чтобы все URL-адреса / пользователи обслуживались только локальным сервером, а не внешним.

Мы сделали нечто подобное на наших серверах. Сначала мы настроили интерфейсный прокси, который с помощью ACL HAProxy позволяет использовать тот или иной бэкэнд. В вашем примере это может быть что-то вроде следующего:

frontend application
  bind 0.0.0.0:10000

  acl use_localhost path_reg ^/users$

  use_backend localhost if use_localhost

  default_backend externe

backend localhost
  server localhost 127.0.0.1:10100 weight 1 maxconn 5 check

backenb externe
  server externe 127.0.0.1:10101 weight 1 maxconn 5 check

В примере use_localhost это имя ACL. Вы можете использовать много разных ACL. Надеюсь, это дает вам кое-что для начала.