O nginx tem uma diretiva análoga ao diretório do Apache?

4

Estou tentando configurar um servidor nginx para substituir nossa configuração atual com base no Apache. Nossos usuários têm diretórios protegidos por senha (com diretivas em arquivos .htaccess) que precisamos manter protegidos na nova configuração.

Até onde eu posso ver, o nginx não tem uma diretiva Directory, mas apenas uma diretiva Location, que se refere a URIs ao invés de caminhos do sistema de arquivos. Isso significa que, se um diretório puder ser acessado por mais de um URL. Eu tenho que incluí-los todos em uma ou mais diretivas de localização. Por exemplo:

domain.com, root: /home/user/public_html
sub.domain.com, root: /home/user/public_html/sub

Se o usuário proteger sub.domain.com/admin (diretório /home/user/public_html/sub/admin ), devo garantir que ambos /admin in sub.domain.com e /sub/admin in domain.com estejam protegidos com o mesmo arquivo de senha. Prefiro proteger o diretório em si e não as URLs pelas quais os visitantes podem acessar seu conteúdo.

Então, o nginx tem algum mecanismo que permita se referir a caminhos do sistema de arquivos em arquivos de configuração, como o <Directory> blocks do Apache - ou talvez eu esteja apenas interpretando mal a documentação do nginx?

    
por juanrpozo 02.10.2012 / 20:24

1 resposta

1

Não existe esse mecanismo no nginx. Eu costumo definir diretórios diferentes para hosts diferentes:

domain.com, root: /home/user/sites/domain.com
sub.domain.com, root: /home/user/sites/sub.domain.com

que simplifica a configuração (nginx).

    
por 26.10.2012 / 19:34