Я хочу удаленно управлять своим HAproxy во время развертывания приложений. Например. перед остановкой приложений на "app-server1" я хочу проинструктировать HA-proxy отключить внутренний сервер "app-server1". Когда приложение снова запустится, я хочу выдать включить команда.
С помощью "stats socket ..." я создаю либо UNIX-сокет, либо TCP-сокет. Для удаленного доступа это должен быть TCP-сокет. Однако это, очевидно, открывает уязвимость, которую я хочу уменьшить.
Могу ли я ограничить доступ к сокету администратора, например по списку IP-адресов клиентов, SSL или другому?
Из-за ограниченного объема информации, которую я нахожу по этой теме при поиске, мне интересно, есть ли другой рекомендуемый способ удаленной работы для моего варианта использования?
Я использую для этого скрипты, но разрешить SSH-доступ скриптам к серверу, на котором запущен HA-прокси, не вариант.
Определите внутренний сервер, указывающий на сокет статистики на локальном хосте. Затем установите сокет статистики для привязки только к 127.0.0.1. Наконец, добавьте необходимые ACL в определение внешнего интерфейса.
Сокет статистики теперь может принимать соединения только от localhost, в то время как ваш внешний прокси-сервер заботится об удаленных клиентах.
global
daemon
stats socket 127.0.0.1:1999
...
frontend stats-frontend
bind *:2000
default_backend stats-backend
acl ...
acl ...
backend stats-backend
mode tcp
server stats-localhost localhost:1999