Como restringir vários diretórios com o Nginx, mas ainda acessar arquivos?

1

Gostaria de saber como permitir que pessoas acessem arquivos com um link direto no meu servidor, mas impedi-los de acessar todos os diretórios?

Exemplo: Eu quero que eles vejam www.site1.com/usa/newyork/1.html Eu não quero que as pessoas possam acessar www.site1.com/usa/ nem www.site1.com/usa/newyork

Eu tentei; comando: sudo nano /etc/nginx/sites-available/site1.com ... localização ~ / (usa) {    negar tudo;    return 404; } ...

Mas depois disso eu mesmo não consigo acessar o resto ... mesmo com um link direto: www.site1.com/usa/newyork/1.html

Obrigado pela sua ajuda,

Octav

    
por user2018505 08.06.2014 / 13:01

1 resposta

1

O problema está resolvido!

Então, por padrão, o Nginx tem uma opção chamada autoindex set off! Esta linha de comando: autoindex on; ativará a capacidade de ver seus diretórios (para todos).

No meu caso, eu queria restringir as pessoas de se perguntarem em torno do meu servidor apenas digitando o www.exemplo.com/teste1/teste2 e ser capaz de ver o que está dentro dele sem especificar o link direto para ele exemplo: www. exemple.com/test1/test2/image1.png

Existe também um comando que é importante para definir uma prioridade de pesquisa de arquivos;

localização / {     try_files $ uri $ uri / = 404; }

Esse comando significa que ele tentará acessar o arquivo 1st e, em seguida, a pasta, dando-lhe um erro 404 se nada funcionar. Mais informações: link

Além disso, minha configuração tem index.html, index.php, index.htm definido como padrão. Portanto, se você não quiser que as pessoas acessem outras pastas sem digitar o caminho inteiro, altere as configurações padrão ou altere o nome dos arquivos ex: index1.html ...

    
por user2018505 09.06.2014 / 06:51