nginx 和 nodejs 提供来自动态文件夹的图像
nginx and nodejs serve images from dynamic folder
嗨,我有这个 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;
}
}
我的应用程序在 uploads/user 内创建文件夹,后跟用户 ID,然后将图像存储到其中。每个用户在 uploads/user/xxxx.
中都有自己的文件夹
例如
/uploads/user/5878db663e67e3535a47c638/1085.github-logo.png
该应用程序在浏览器中运行良好,但当用户上传图片时无法显示,因此出现 404。
我能做什么?
您可以使用 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。
嗨,我有这个 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;
}
}
我的应用程序在 uploads/user 内创建文件夹,后跟用户 ID,然后将图像存储到其中。每个用户在 uploads/user/xxxx.
中都有自己的文件夹例如
/uploads/user/5878db663e67e3535a47c638/1085.github-logo.png
该应用程序在浏览器中运行良好,但当用户上传图片时无法显示,因此出现 404。
我能做什么?
您可以使用 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。