HAProxy-определенный URI

Так что моя конфигурация HAProxy похожа на эту.

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

Что очень хорошо работает для наших систем: четыре серверных веб-сервера, один веб-сервер внешнего интерфейса, тайм-ауты для которых являются разумными.

Моя проблема в том, что у меня есть один URL, который должен быть значительно более длительным. Это очень тяжелая задача, которая занимает много времени на сервере.

Есть ли способ изменить переменные тайм-аута для одного URL?

1 ответ

Создать один интерфейс для 2 бэкэндов

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

Я думаю, что url_dir - лучший вариант для этого, но вы можете проверить path_sub/reg или url_sub / reg ( http://code.google.com/p/haproxy-docs/wiki/MatchingLayer7)

Другие вопросы по тегам