NGINX impede o acesso direto ao diretório, mas permite reescrever

2

Usando o NGINX como proxy para um cluster de nós RIAK *. Eu tenho uma regra de reescrita como

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

e um bloco de localização

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

Qual será o redirecionamento para um dos servidores RIAK. O problema é que os usuários podem acessar diretamente o link e acessar diretamente as informações do cluster e do bucket do RIAK. Quero permitir apenas o acesso a usuários que solicitam recursos por meio do URL reescrito. Eu prefiro evitar que if s ou vários location bloqueiem tudo. Provavelmente estou sentindo falta de algo óbvio.

NGINX 1.0.11

* Isso geralmente é uma má idéia, já que qualquer pessoa com acesso ao servidor NGINX pode put / post stuff em seu cluster RIAK. Você deve evitar todos os tipos de solicitações, exceto GET e HEAD . Também é uma boa idéia remover andy X-* headers colocados pela RIAK. Não acho que expor o valor do VClock seja um problema de segurança, mas é melhor estar seguro.

    
por Smudge 31.01.2012 / 14:38

1 resposta

2

Use a diretiva interna para marcá-la como um local interno que não é acessível diretamente.

    
por 01.02.2012 / 07:58

Tags