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

Можно ли добавить базовую аутентификацию доступа HTTP через HAProxy?

Я успешно настроил HAProxy перед HTTP-сервером, который у меня есть нет контроля над.

Можно ли настроить HAProxy для добавления Простая HTTP-аутентификация ко всем сайтам, имея в виду, что я не могу настроить это на бэкэнде?

Спасибо,

Ларс

Мне пришлось сделать это сегодня самому (потому что IIS 7.5, как ни странно, на самом деле не поддерживает аутентификацию по чему-либо, кроме учетных записей пользователей Windows или AD!) ...

Вот весь код

userlist UsersFor_AcmeCorp
  user joebloggs insecure-password letmein

backend HttpServers
  .. normal backend stuff goes here as usual ..
  acl AuthOkay_AcmeCorp http_auth(UsersFor_AcmeCorp)
  http-request auth realm AcmeCorp if !AuthOkay_AcmeCorp

Я задокументировал это немного лучше здесь: http://nbevans.wordpress.com/2011/03/03/cultural-learnings-of-ha-proxy-for-make-benefit/

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

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt твоя библия.

Ознакомьтесь с разделом 3.4 (Списки пользователей)

Это начинается:

Можно управлять доступом к разделам frontend / backend / listen или к статистике http, разрешив только аутентифицированным и авторизованным пользователям. Для этого необходимо создать хотя бы один список пользователей и определить пользователей.

В этом разделе объясняется, как создать список пользователей. Пример в этом разделе довольно исчерпывающий, так что скопируйте его, если вам нужно.

Затем нужно выяснить, как его применить ... Я думаю, что ответ находится в разделе 7.5.3 (Соответствие на уровне 7)

Я думаю, это может быть так же просто, как использовать в acl следующее:

http_auth(userlist)
http_auth_group(userlist) <group> [<group>]*
  Returns true when authentication data received from the client matches
  username & password stored on the userlist. It is also possible to
  use http_auth_group to check if the user is assigned to at least one
  of specified groups.

Опять же, я не тестировал это, но я читал документацию, поскольку предполагал, что это возможно.

Надеюсь, этого достаточно, чтобы вы начали?

Если вы хотите сделать это с целью аутентификации

option httpchk

config работает более простое решение: https://stackoverflow.com/questions/13325882/haproxy-solr-healthcheck-with-authentication