默认验证用户nginx

时间:2016-07-31 04:46:00

标签: nginx lua nginx-location

我试图在nginx实例后隐藏弹性搜索。我正在使用access_by_lua_file指令。我的问题是,我希望打开对弹性搜索中可用的许多端点的访问,这些端点不会修改文档。现在我正在使用此指令限制访问:

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

  access_by_lua_file '{{ nginx.lua_file_path }}';

  proxy_pass http://elasticsearch;
  proxy_redirect off;
}

这很好用,除了我不希望人们被迫提供服务的用户名。

我怎样才能做以下事情之一(或者某人有更好的方法)。

  1. 创建一个类似的位置指令,假定其为通用用户,如果请求失败,请移至我上面提供的位置。

  2. 当有人不提供用户时,强制nginx假定它是经过身份验证的用户(具有最低权限)。例如,当没有提供用户时,我们假设我们已经使用用户all进行了身份验证(应该能够根据lua文件读取大多数内容)。

  3. lua文件基本上枚举所有可能的请求,并将它们分组为“所有”组/用户(对于每个人)和“admin”组/用户以确定请求是否可接受。我本质上想要欺骗nginx,假设在没有传递用户名时它是“全部”用户名。

0 个答案:

没有答案