Nginx-Sempre retorna o código de status 403

1

Estou tentando fazer com que o Nginx retorne uma página da Web simples, mas sempre com um código de status http de 403. Por algum motivo, não consigo fazer com que funcione. Eu tenho dois arquivos em / var / www / html /:

  • index.html
  • photo.jpg

index.html exibe algum texto junto com photo.jpg

Aqui está minha configuração do Nginx:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                return 403;
         }

        error_page 404 /index.html;
        error_page 403 /index.html;

        location = /index.html {
                 allow all;
       }

        location = /photo.jpg {
                allow all;
        }
}

Com essa configuração como está, index.html e photo.jpg são exibidos com um status de 200. Se eu remover os location blocos para esses dois arquivos, nenhum deles será exibido, mas eles terão status 403 . Minha pergunta é: Como posso exibir o arquivo html, juntamente com a imagem, mas apenas retornar um status de 403? Eu sinto que estou sentindo falta de algo simples.

    
por bcst 18.10.2016 / 18:27

1 resposta

4

Seu location / {} , contendo um return 403; corresponde primeiro. Você deve movê-lo abaixo de outros dois.

Tiroteio feliz na perna!

    
por 18.10.2016 / 22:14