Настройте HAProxy ACL, используя переменные среды с несколькими IP-адресами / сетями - PullRequest
0 голосов
/ 04 февраля 2019

Я знаю, что вы можете использовать переменные окружения для настройки HAProxy .Он работает для меня с одним значением.

Но, можно ли использовать переменную среды со списком значений? (например: несколько адресов SRC)

Например, в моем haproxy.cfg:

...
acl acl_gateway_03 src "${ACL_GATEWAY_03_SRC}"
...

ACL_GATEWAY_04_SRC=172.30.4.0/24

Но если я задаю список значений (т.е.: ACL_GATEWAY_04_SRC=172.30.4.0/24 172.30.6/24), сервер не запускается и показываетэто сообщение об ошибке:

[ALERT] 034/181026 (1) : parsing [/usr/local/etc/haproxy/haproxy.cfg:47] : error detected while parsing ACL 'acl_gateway_04' : '172.30.4.0/24 127.0.0.1' is not a valid IPv4 or IPv6 address.

1 Ответ

0 голосов
/ 05 февраля 2019

Вы можете использовать acl для каждого диапазона ip.

acl acl_gateway_03 src 172.30.4.0/24

или написать команду в crontab для записи диапазонов ips в файлах и использовать их в haproxy, как показано ниже:

acl acl_gateway_03 -f file1.lst -i -f file2.lst test

За флагом "-f" следует имя файла, из которого все строки будут считаны как отдельные значения.Можно даже передать несколько аргументов "-f", если шаблоны должны быть загружены из нескольких файлов.Пустые строки, а также строки, начинающиеся с резкого ('#'), будут игнорироваться.

...