nginx 403 ao servir arquivos estáticos + proxy reverso

3

Estou tentando veicular um aplicativo de nó por meio do nginx, mas primeiro tento exibir arquivos estáticos que podem estar em uma pasta /public . Eu tenho muito trabalho - mas ao acessar domain.tld/ ou o índice de pastas estáticas, recebo um 403; %código%. Todas as permissões parecem corretas, então estou bastante confuso.

Este é o meu bloco de servidores;

server {
    server_name domain.tld;

    location / {
        root /var/www/domain.tld/public;
        try_files $uri $uri/ @proxy;
        access_log off;
    }

    location @proxy {
        proxy_pass http://127.0.0.1:3000;
    }
 }

Acessar qualquer página aleatória (incluindo os subdiretórios assumidos) adequadamente os proxies para o aplicativo do nó. No caso da raiz / e raiz de qualquer diretório estático existente, no entanto, 403.

Alguma idéia?

    
por Mike Shito 02.06.2016 / 18:17

1 resposta

6

Isso porque o diretório existe e, portanto, o try_files check

try_files $uri $uri/ @proxy;

é bem-sucedido. Mas não há arquivo de índice de diretório (normalmente index.html , consulte índice ), e autoindex também não está ativado (consulte autoindex ).

Dependendo do que você quer que aconteça, considere as seguintes opções:

  • Deixe como está (e pode ajustar quais arquivos de índice são usados).
  • Sempre passe diretórios para um back-end. Remova $uri/ de try_files para fazer isso, ou seja:

    location /
        root /var/www/domain.tld/public;
        try_files $uri @proxy;
    }
    
  • Verifique um determinado arquivo de índice via try_files (e a solicitação irá para um back-end, se não for encontrada):

    location /
        root /var/www/domain.tld/public;
        try_files $uri $uri/index.html @proxy;
    }
    
  • Ativar autoindex :

    location /
        root /var/www/domain.tld/public;
        try_files $uri $uri/ @proxy;
        autoindex on;
    }
    
por 02.06.2016 / 20:03