我有一个nginx服务器,它自己处理一些请求,并使用以下行将其余的请求传递给Node.JS服务器:
proxy_pass http://localhost:8000;
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;
nginx和node.js都会生成自己的http页面,这些页面应该是相同的(来自nginx的404应该与用户看起来与来自node.js的404相同)。
我希望nginx检查node.js生成的响应代码,如果产生错误,则回退到自己的错误页面。这是可能的还是明智的?
1. Nginx receives HTTP request
2. HTTP request passed to Node.JS
3. Node.JS responds with 404 error
4. Nginx responds with 404 error
答案 0 :(得分:0)
添加行
proxy_intercept_errors on;
到位置块将导致远程服务器生成的错误被nginx截获。