nginx和nodejs提供动态文件夹中的图像

时间:2017-01-14 11:32:30

标签: node.js nginx nginx-location

嗨我有这个nginx设置:

server {
listen 80;
server_name xxxxxx.xx www.xxxxxxx.xx;
root /home/xxxx/public_html;

location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    #proxy_redirect off; 
    #proxy_cache_bypass $http_upgrade;
  }
}

我的应用在上传/用户中创建文件夹,后跟用户ID,然后将图像存储到其中。每个用户在uploads / user / xxxx中都有自己的文件夹。

离。

/uploads/user/5878db663e67e3535a47c638/1085.github-logo.png

该应用在浏览器中运行良好,但当用户上传图片时,无法显示,因此404会上升。

我能做什么?

1 个答案:

答案 0 :(得分:0)

您可以使用try_files提供静态内容(如果存在),否则请遵循NodeJS:

root /home/xxxx/public_html;

location / {
    try_files $uri $uri/ @proxy;
}
location @proxy {
    proxy_pass http://127.0.0.1:3000;
    ...
}

有关详细信息,请参阅this document