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

HAProxy слушает с двумя аргументами?

Я продолжаю видеть примеры конфигурации HAProxy с синтаксисом с двумя аргументами. Действительно, конфигурационный файл по умолчанию, поставляемый с 1.4.18, содержит следующее:

listen  appli1-rewrite 0.0.0.0:10001
    cookie  SERVERID rewrite
    balance roundrobin
    server  app1_1 192.168.34.23:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
    server  app1_2 192.168.34.32:8080 cookie app1inst2 check inter 2000 rise 2 fall 5
    server  app1_3 192.168.34.27:8080 cookie app1inst3 check inter 2000 rise 2 fall 5
    server  app1_4 192.168.34.42:8080 cookie app1inst4 check inter 2000 rise 2 fall 5

Я замечаю полное отсутствие какой-либо опции привязки, поэтому могу ли я поверить, что это сокращение от привязки?

Документация HAProxy (http://haproxy.1wt.eu/download/1.5/doc/configuration.txt) содержит один несвязанный пример с этим синтаксисом, но нигде не указывает, не документирует и не объясняет его.

В документации просто показано listen <name>:

All proxy names must be formed from upper and lower case letters, digits,
'-' (dash), '_' (underscore) , '.' (dot) and ':' (colon). ACL names are
case-sensitive, which means that "www" and "WWW" are two different proxies.

(т.е. без пробелов, так что это явно не просто часть имени)

Есть ли официальная документация по этому синтаксису?

Спасибо.

Думаю, я просто взломал это, найдя этот ответ на superuser.com. В HAProxy 1.3.x, устаревшее справочное руководство сказал:

2) Declaration of a listening service
=====================================

Service sections start with the 'listen' keyword :

    listen <instance_name> [ <IP_address>:<port_range>[,...] ]

К версии 1.4 этого руководства больше не существовало, но похоже, что этот синтаксис по-прежнему принимался для обратной совместимости. В версии 1.6 listen раздел без bind директива начал генерировать предупреждения.

Итак, ответ в том, что это старый синтаксис, который больше не следует использовать.