Apache-2.2

HAProxy 的 ngx_http_auth_request_module 等效項

  • February 21, 2018

ngx_http_auth_request_moduleHAProxy 或 Apache 是否存在與 nginx 等效的模組?該模組允許通過 HTTP 支持自定義身份驗證。我引用:

ngx_http_auth_request_module模組(1.5.4+)根據子請求的結果實現客戶端授權。如果子請求返回 2xx 響應碼,則允許訪問。如果它返回 401 或 403,則訪問被拒絕並帶有相應的錯誤程式碼。子請求返回的任何其他響應程式碼都被視為錯誤。

至少對於 apache(1.x 和 2.x),您可以嘗試https://github.com/kitech/mod_authnz_external。它執行一個外部腳本來處理使用者的憑據。該腳本又可以通過 HTTP 查詢外部服務

$$ s $$,在這種情況下,它的工作方式與ngx_http_auth_request_module類似(不考慮性能問題)

你可以試試這個基於 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 }

作者還發表了一篇不錯的文,詳細解釋了內部工作原理。

引用自:https://serverfault.com/questions/759334