使用 haproxy 选择服务器后端到某个 URL

使用 haproxy 选择服务器后端到某个 URL

对于某些 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

举个例子,我希望所有到 /users 的 url 都只由服务器 localhost 提供服务,而不是由 externe 提供服务。

答案1

我们在服务器上做了类似的事情。我们首先设置了一个前端代理,使用 HAProxy 的 ACL 允许使用一个或另一个后端。在您的示例中,它可能类似于以下内容:

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

在示例中使用本地主机是 ACL 的名称。您可以使用许多不同的ACL。我希望这能给你一些启发。

相关内容