upstream app {
server localhost:3000;
}
server {
...
# If I comment this location out, images are displayed on the website
location ~* \.(?:jpg|jpeg|png|gif|swf|xml|txt|css|js)$ {
expires 6004800;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
...
location /app {
alias /path/to/app/public/;
try_files $uri $uri @app;
}
location @app {
rewrite /app(.*) $1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $proxy_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://app;
proxy_redirect http://app/ /app/;
}
...
}
我已经为此奋斗了一段时间。我的Express应用程序在nginx的子文件夹中。下面是我在/sites-available/中nginx文件中的代码。当我删除静态文件位置时,应用程序的图像和CSS被代理,但如果nginx文件中有静态文件缓存,则Express应用程序的图像和CSS文件不会显示在网站上。
请问有人可以帮忙吗?