防止Express.js 4.x向最终用户显示exception详细信息

我目前正在使用Express作为路由代理在NodeJS中编写一个站点。 我的代码并不完美,有时候会有一些问题导致express引发exception,如果在用户发出请求时发生错误,并且发送给用户并由用户看到。 这给我带来了安全风险,我想知道是否有一种方法可以捕获这些错误,并发送一个自定义的500错误页面,而不是显示堆栈跟踪。 任何帮助表示赞赏!

我现在在手机上了,如果你很快需要澄清,我会更新这个答案,但是如果你使用的是快速生成器,生成的模板在app.js底部包含一个error handling程序将堆栈跟踪传递到错误页面。 检查出。 如果您使用的是默认值,您可以通过将名为NODE_ENV的环境variables设置为production来触发。 否则,您可以简单地注释掉或修改第一个error handling程序。