使用nginx处理另一台服务器生成的错误

时间:2015-01-23 16:46:36

标签: node.js http nginx

我有一个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

1 个答案:

答案 0 :(得分:0)

添加行

proxy_intercept_errors on;

到位置块将导致远程服务器生成的错误被nginx截获。