URI específico do HAProxy

1

Portanto, minha configuração do HAProxy é semelhante a isso.

listen webaustin 0.0.0.0:80
    mode http
    timeout connect 12000
    timeout server 60000
    timeout queue 120000
    balance roundrobin
    option httpchk GET /index.html
    log global
    option httplog
    option dontlog-normal
    server web1 10.10.10.101:80 maxconn 600 check fall 10
    server web2 10.10.10.102:80 maxconn 600 check fall 10
    server web3 10.10.10.103:80 maxconn 600 check fall 10
    server web4 10.10.10.104:80 maxconn 600 check fall 10

O que funciona muito bem para nossos sistemas, quatro servidores web backend, um servidor web de frontend, timeouts definidos como razoáveis.

Meu problema é que eu tenho um URL, que eu preciso ter um tempo limite muito maior. É uma tarefa muito pesada que demora muito no backend.

Existe alguma maneira de alterar as variáveis de tempo limite para um único URL?

    
por GruffTech 17.10.2011 / 23:37

1 resposta

3

crie um único frontend para 2 backends

frontend webserver
        bind :80
        option forwardfor
        acl bk_slow url_dir /slow_uri/
        use_backend slow-pool if bk_slow
        default_backend default-pool

backend default-pool
        balance ...
        option httpchk ...
        server ...

backend slow-pool
        balance ...
        option httpchk ...
        server ...
        timeout client 600s
        timeout server 600s

Acho que url_dir é a melhor opção para isso, mas você pode querer verificar path_sub / reg ou url_sub / reg ( )

    
por 25.10.2011 / 21:03