NGINX zapobiega bezpośredniemu dostępowi do katalogu, ale umożliwia przepisywanie

2

Używanie NGINX do proxy do klastra węzłów RIAK *. Mam regułę przepisywania jak

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

i blok lokalizacji

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

Który przekieruje na jeden z serwerów RIAK. Problem polega na tym, że użytkownicy mogą uzyskać bezpośredni dostęp do http: // server / riak / i uzyskać bezpośredni dostęp do informacji o klastrze i segmencie RIAK. Chcę umożliwić dostęp tylko użytkownikom żądającym zasobów za pośrednictwem przepisanego adresu URL. Wolałbym unikać jakichkolwiek bloków iflub wielu locationbloków, aby złapać wszystko. Prawdopodobnie brakuje mi czegoś oczywistego.

NGINX 1.0.11

* Jest to ogólnie zły pomysł, ponieważ każdy, kto ma dostęp do serwera NGINX, może put/ może postwpakować się do klastra RIAK. Powinieneś zapobiegać wszystkim typom żądań oprócz, GETa HEADtakże prawdopodobnie dobrym pomysłem jest usunięcie X-*nagłówków Andy wstawianych przez RIAK. Nie sądzę, aby ujawnienie wartości VClock było problemem bezpieczeństwa, ale najlepiej dla bezpieczeństwa.

Plama
źródło

Odpowiedzi: