通过node.js防止例外的防止拒绝服务的最佳做法

时间:2014-05-07 01:20:20

标签: node.js

所以我最近实现了一个类似于node.js的域文档(http://nodejs.org/api/domain.html#domain_warning_don_t_ignore_errors)建议的模式,以便在发生未捕获的异常时优雅地崩溃服务器。

然而,很明显可以通过快速触发错误来创建拒绝服务,因为它需要花费大量时间来启动新流程。

是否有任何建议的最佳做法可以减轻这种情况?

1 个答案:

答案 0 :(得分:2)

  • 记录未捕获的例外情况
  • 阅读日志
  • 花时间理解,复制和修复错误
  • 继续部署新版本的应用,其中未捕获的异常越来越少见
  • 使用群集模块和负载平衡器实现容错
  • 如果您真的需要,请考虑网络级别的DoS保护
  • 有一个Web服务器配置方便,特定URL的简单情况会使您的应用程序崩溃,您可以让您的Web服务器快速开始过滤这些请求,以便它们永远不会到达您的应用程序服务器。这可以通过仅发送故障鲸鱼类型响应的nginx位置块来完成。
    • 意识到这只会对某些情况有所帮助。在复杂的情况下,如果特制的POST邮件正文使您的应用崩溃并关闭整个网址将阻止合法用户访问,则您需要通过部署更好的代码来做出响应。