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

ngx_http_auth_request_module эквивалент для HAProxy

Имеет эквивалентный модуль для nginx ngx_http_auth_request_module существуют для HAProxy или Apache? Этот модуль позволяет поддерживать пользовательскую аутентификацию через HTTP. Я цитирую:

В ngx_http_auth_request_module модуль (1.5.4+) реализует авторизацию клиента на основе результата подзапроса. Если подзапрос возвращает код ответа 2xx, доступ разрешен. Если он возвращает 401 или 403, доступ запрещается с соответствующим кодом ошибки. Любой другой код ответа, возвращенный подзапросом, считается ошибкой.

Можешь попробовать этот Lua на основе решение. Это вдохновлено ngx_http_auth_request_module.

Загрузите скрипт lua в global раздел.

global
    lua-load /usr/share/haproxy/auth-request.lua

Определите серверную часть аутентификации

backend auth_request
    mode http
    server auth_request 127.0.0.1:8080 check

Вызвать проверку Lua во внешнем интерфейсе и отклонить запрос, если он не удался.

frontend http
    http-request lua.auth-request auth_request     /is-allowed
    http-request deny if ! { var(txn.auth_response_successful) -m bool }

Автор также сделал приятный Сообщение блога, где он подробно объяснил внутреннюю работу.

По крайней мере, для apache (как 1.x, так и 2.x) вы можете попробовать https://github.com/kitech/mod_authnz_external. Он запускает внешний сценарий для обработки учетных данных пользователя. Этот сценарий, в свою очередь, может запрашивать внешнюю службу через HTTP [s], в этом случае он будет работать аналогично (без учета проблем с производительностью) ngx_http_auth_request_module