[英]How to respond with 404 from Node.js when serving static files with NGINX?
我有一个在端口3000上运行的Node.js应用程序,并使用NGINX作为代理。 NGINX也提供静态文件。 启用网站的配置:
server {
listen 80;
server_name myapp.dev;
location ~ ^/(img/|js/|css/|robots.txt|favicon.ico) {
root /srv/nodejs/myapp/public;
access_log off;
expires max;
}
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
目前一切正常。 但是当请求不存在的静态文件时(/css/doesntexist.css),我得到一个默认的NGINX 404页面。
我知道可以将用户重定向到自定义404页面(例如/404.html),但我希望在从我的节点应用程序显示自定义404时保持URL指向不存在的路径。
有任何想法吗?
得到它与以下工作。
location ~ ^/(img/|js/|css/|robots.txt|favicon.ico) {
access_log off;
expires max;
error_page 404 = @not_found;
}
location @not_found {
proxy_pass http://127.0.0.1:3000;
}
这是基于error_page选项的NGINX文档中的示例 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.