使用 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 请求资源的用户访问。我宁愿避免使用任何if
s 或多个location
块来捕获所有内容。我可能遗漏了一些显而易见的东西。
NGINX 1.0.11
*这通常不是一个好主意,因为任何有权访问 NGINX 服务器的人都可以put
将post
数据放入您的 RIAK 集群中。您应该阻止除GET
和之外的所有请求类型HEAD
,此外,删除 RIAK 放入的 andy 标头可能也是个好主意X-*
。我不认为暴露 VClock 值是一个安全问题,但最好是安全。
答案1
使用内部指令将其标记为不可直接访问的内部位置。