NGINX 阻止直接访问目录但允许重写

NGINX 阻止直接访问目录但允许重写

使用 NGINX 代理 RIAK 节点集群*。我有一条重写规则,例如

rewrite ^/bucket-([a-z]+)/object-([a-zA-Z0-9]+)/(.+)$ /riak/$1/$2 break;

和一个位置块

location /riak/ {
  proxy_pass      http://riak_servers/riak/;
}

这将重定向到其中一个 RIAK 服务器。问题是,用户可以直接访问http://服务器/riak/并直接获取 RIAK 集群和存储桶信息。我只想允许通过重写 URL 请求资源的用户访问。我宁愿避免使用任何ifs 或多个location块来捕获所有内容。我可能遗漏了一些显而易见的东西。

NGINX 1.0.11

*这通常不是一个好主意,因为任何有权访问 NGINX 服务器的人都可以putpost数据放入您的 RIAK 集群中。您应该阻止除GET和之外的所有请求类型HEAD,此外,删除 RIAK 放入的 andy 标头可能也是个好主意X-*。我不认为暴露 VClock 值是一个安全问题,但最好是安全。

答案1

使用内部指令将其标记为不可直接访问的内部位置。

相关内容