Haproxy «Сервер тайм-аута» при выполнении определенного действия

#timeout #haproxy

#тайм-аут #haproxy

Вопрос:

Мне интересно, возможно ли установить альтернативный «сервер тайм-аута» для определенного действия (URL-путь)? Например, что-то вроде


timeout server 1000
timeout server /something-that-takes-long-time-to-respond 10000

?

Ответ №1:

Это может быть решено с использованием отдельных серверных систем.

 frontend www-http
    bind 10.0.0.1:80
    default_backend app

    acl long_url  path_beg -i /long_url

    use_backend app-extended if long_url

backend app
    server web-1 10.0.0.2:80 check

backend app-extended
    server web-1 10.0.0.2:80 trace app/web-1
    timeout server 10m
  

Такая конфигурация позволяет выполнять ссылки, требующие много времени, и настраивать более длительный тайм-аут только для определенного URL.

Пожалуйста, обратите внимание на настройку трассировки, которая выполняет только одну проверку работоспособности вместо отдельных на одном сервере.