Я успешно настроил 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