代理传递时如何让NGINX读取静态文件目录

Gas*_*sim 2 nginx reverse-proxy

这是我的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;
        }

}
Run Code Online (Sandbox Code Playgroud)

我希望 /assets 目录由 NGINX 处理,而其他所有内容都由运行在 8000 上的 python 服务器处理。但是,我仍然在资产目录上得到 404。

我究竟做错了什么?资产目录可由 www-data 读取。

yae*_*shi 7

使用alias代替root。你甚至不需要try_files

        location /assets/ {
                alias /var/www/frappe/sites/assets/;
        }
Run Code Online (Sandbox Code Playgroud)