使用NGINX代理RIAK节点集群*。 我有一个重写规则
rewrite ^/bucket-([az]+)/object-([a-zA-Z0-9]+)/(.+)$ /riak/$1/$2 break;
和一个位置块
location /riak/ { proxy_pass http://riak_servers/riak/; }
哪个将redirect到RIAK服务器之一。 问题是,用户可以直接访问http:// server / riak /并直接获取RIAK集群和桶信息。 我只想通过重写的URL访问请求资源的用户。 我宁愿避免任何if s或多个location块来抓住一切。 我可能错过了一些明显的东西。
NGINX 1.0.11
*这通常是一个坏主意,因为任何有权访问NGINX服务器的人都可以在RIAK集群中put / post内容。 你应该防止所有的请求types,除了GET和HEAD ,也可能是一个好主意,删除RIAK放入的X-*标头。 我不认为暴露VClock值是一个安全问题,但最好是安全的。
使用内部指令将其标记为不能直接访问的内部位置。