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 todo o resto é manipulado pelo servidor python em execução no 8000. No entanto, ainda recebo 404 no diretório de ativos.
O que estou fazendo errado? O diretório de ativos pode ser lido por www-data.
Use
alias
em vez deroot
. Você nem precisatry_files
?Você obtém todos os 404s em solicitações de recursos em
/assets
? Suspeito que você queira mudarroot
paraalias
inlocation /assets
, porqueroot
anexa todo o caminho da solicitação ao diretório especificado, o que significa que o nginx está procurando por/var/www/frappe/sites/assets/assets/site.css
, por exemplo.