在我的服务器上,我有nginx和pm2并排运行。
为了完成这项工作,我将我的nginx配置为反向代理到我的API(PM2)
# Proxying API connections to api
location /api/ {
proxy_pass http://localhost:3000/api;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_max_temp_file_size 0;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 240s;
}
但是当我的UI调用我的API时,我收到此错误..
api> TypeError:res.end不是函数
api>在onError(/var/www/api/source/api/api.js:75:9)
api>在Layer.handle [as handle_request](/var/www/api/source/node_modules/express/lib/router/layer.js:95:5)
api>在trim_prefix(/var/www/api/source/node_modules/express/lib/router/index.js:317:13)
当我在第75行检查我的代码时......
app.use(function onError (err, req, res) {
res.statusCode = 500
res.end(res.sentry + '\n') // Line 75
})
我做错了什么?
答案 0 :(得分:0)
错误中间件应该有4个参数,按此顺序:
app.use(function onError(req, res, next, err){
//handle error
})