反向代理 NGINX 的身份验证 / 访问控制模块

我正在寻找一个模块,用于反向代理身份验证 / 访问控制(偏好 nginx)。此模块应具备以下功能:

1. 使用存储在数据库中的凭据进行用户身份验证(如 postgres)
2. 监视正在进行的连接,如果满足某些访问凭证,则采取行动。例如,时间过期
3. 开源(允许自定义),优先使用nginx,ruby(rails)

似乎 OpenRestyhttps://github.com/openresty/lua-nginx-module)与 nginx 可以胜任该工作。 这篇文章(https://www.elastic.co/blog/playing-http-tricks-nginx)讨论了 Luanginx 上的访问控制。 这是一个示例(nginxLua),给我留下了印象,一个文件片段可以用于访问控制(access_by_lua_file):

server {
    listen 8080;

    location / {
      auth_basic           "Protected Elasticsearch";
      auth_basic_user_file passwords;

      access_by_lua_file '../authorize.lua';  #<<<=====

      proxy_pass http://elasticsearch;
      proxy_redirect off;
    }

  }

我是新手控制反向代理访问。 欢迎您给出建议。

点赞
用户938363
用户938363

以下是nginx网站上一篇有趣的文章,对上述问题进行了回答。https://www.nginx.com/blog/nginx-plus-authenticate-users/

2017-02-24 23:26:04