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

HAProxy можно ли принудительно выполнить базовую аутентификацию, а затем выбрать сервер AD на основе IP-адреса пользователя?

Вот мой контекст:

Можно ли с HAProxy сделать следующее, и если да, то как это сделать?

  1. когда пользователь пытается связаться с заданным URL-адресом, если заголовок с именем HEADER отсутствует, заставьте базовую аутентификацию запрашивать пользователя usernameи password.
  2. при получении username и password от пользователя, проверьте source ip и в зависимости от его значения (маска / шаблон / что угодно) связаться с соответствующим Active Directory для аутентификации пользователя.
  3. как только пользователь будет правильно аутентифицирован выбранным сервером AD, напишите HEADER

Заранее спасибо за вашу помощь!

P.S. Я разместил тот же вопрос в Stackoverflow, но я думаю, что serverfault может быть лучшим местом, чтобы задать этот вопрос.

Я знаю, что это немного старая тема, но я подумал, что отдал бы ей свои 2 пенса ...

Вы можете рассмотреть возможность использования инструмента более высокого уровня, такого как Keycloak + HTTP-шлюз более высокого уровня (например, Apache Knox) ​​для перенаправления пользователей, и, возможно, использовать HAProxy, чтобы указать пользователям ближайший доступный шлюз Knox. У вас может быть почти однозначное отношение между экземплярами Knox, Keycloak и AD, если расстояние действительно будет иметь значение, а затем использовать HAProxy для выбора шлюза для подключения в зависимости от IP-адреса пользователя.

Следующий проект позволяет пользователям соединить keycloak и knox вместе: https://github.com/UKHomeOffice/pontus-keycloak-knox