Nginx ativa a listagem de diretório se o arquivo existir e ativa a autenticação básica se existir outro arquivo

1

Estou desenvolvendo um site em que os usuários podem fazer upload de arquivos por meio do FTP e podem ver esses arquivos em um link HTTPS.

Eu quero que eles sejam capazes de

  • 1, Habilite a listagem de diretório em um diretório específico, colocando um arquivo 'enabledirlisting.txt' simples

  • 2, Habilite a autenticação básica colocando 'userpasswordfile.txt' (o arquivo de autenticação básico sendo esse arquivo)

Algo parecido com isto:

location $request_filename {
            if (-f $request_filename/enabledirlisting.txt) {
                            break;
            }
            autoindex off;

            if (-f $request_filename/userpasswordfile.txt) {
                            break;
            }

             auth_basic "Password protected directory!";
             auth_basic_user_file $request_filename/userpasswordfile.txt;

    }

No entanto, tenho alguns problemas;

  • 1, não funciona: P

  • 2, Se a primeira condição for falsa, a segunda não será executada (e não posso fazer várias diretivas de localização)

Tenho certeza de que isso é possível com a configuração do nginx. Ou eu tenho que criar um módulo / editar o código fonte do nginx? Se sim, onde devo começar por algo assim? Não parece muito difícil de fazer.

Obrigado antecipadamente

    
por BusinessGuy 21.08.2016 / 00:31

0 respostas

Tags