Я продолжаю видеть примеры конфигурации 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
директива начал генерировать предупреждения.
Итак, ответ в том, что это старый синтаксис, который больше не следует использовать.