como fazer o NGINX ler o diretório de arquivos estáticos quando o proxy passar

1

Aqui está minha configuração nginx:

server {
        listen 80;
        server_name example.com;
        location /assets {
                root /var/www/frappe/sites/assets;
                try_files $uri $uri/ =404;
        }
        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;

                proxy_pass http://127.0.0.1:8000;
                proxy_redirect off;
        }

}

Eu quero que o diretório / assets seja manipulado pelo NGINX enquanto tudo o mais é manipulado pelo servidor python em execução no 8000. No entanto, ainda consigo o 404 no diretório de recursos.

O que estou fazendo de errado? O diretório de recursos é legível por www-data.

    
por Gasim 01.08.2015 / 01:06

2 respostas

1

Você recebe todos 404 solicitações de recursos em /assets ? Eu suspeito que você queira alterar root para alias em location /assets , porque root acrescenta todo o caminho da solicitação ao diretório especificado, o que significa que nginx está procurando /var/www/frappe/sites/assets/assets/site.css , por exemplo.

    
por 01.08.2015 / 10:10
4

Use alias em vez de root . Você nem precisa de try_files ?

        location /assets/ {
                alias /var/www/frappe/sites/assets/;
        }
    
por 01.08.2015 / 10:37