如何检测并可能忽略处理 bad/hung 客户端浏览器请求

How to detect and possibly ignore processing a bad/hung client browser request

我正在开发节点 Web 应用程序。而且,在进行测试时,其中一个客户端 chrome 浏览器进入挂起状态。浏览器进入无限循环,不断下载 html 页面引用的所有 JavaScript 文件。我重新启动了网络服务器 (node.js),但是一旦网络服务器恢复在线,它继续每秒从有问题的同一浏览器接收大量请求。

显然,我继续并终止了客户端浏览器,这样问题就消失了。

但是,我很担心,一旦我的 Web 应用程序运行 live/public,如何从服务器端处理此类客户端连接问题。因为我将无法访问客户端。

有什么东西(npm module/code?)可以从我的网络服务器代码中对 handle/detect 如此糟糕的客户端连接做出最佳猜测。一旦检测到,忽略来自该特定客户端实例的任何未来请求。我知道在节点服务器内处理可能不是最好的方法。但是,至少我可以通过不渲染错误的请求来节省我的 cpu/network。

P.S。 顺便说一句,我打算用很少的预算将我的节点 Web 应用程序部署到 Heroku 上。因此,如果您知道任何 firewall/configuration 可以处理上述情况,请推荐。

我认为了解这是一个非常罕见的案例很重要。如果您的应用程序拥有非常庞大的用户群,或者出于其他原因您担心 DOS/DDOS 相关攻击,那么 Heroku provides some DDOS security for you. If you have your own server, I would suggest looking into Nginx or HAProxy as load balancers for your app combined with fail2ban. See this tutorial.