每个目录的lighttpd速率限制

我正在创build一个有大量小工具的网站。 一种是使用与自然语言工具包(nltk)进行交互的Python cgi脚本的工具,该工具是磁盘和CPU密集型的。 我有其他服务不那么密集。

在客户端,这些限制了JavaScript限制。 创buildbot的恶意或非智能用户可以直接build立连接。 我想阻止这个尽可能低的水平,但我需要它是每个目录(CGI脚本坐在旁边的index.html文件)。

我也将有一个防火墙阻止虐待IP地址发出请求。 我想这个返回一个简单的429响应与一个空的JSON对象作为正文。

我还想在其中包含其他规则,如30秒接收到发送时间,否则closures连接。

我如何在Debian的lighttpd服务器上实现这个function?

要直接回答您的问题,请查看Lighttpd的ModEvasive和Traffic Shaping 。

作为替代/除了你提到的,你应该能够节制使用iptables规则每秒连接。

最后,考虑使用某种应用程序(消息)队列机制。 这样,无论有多less请求到达您的web界面/ API端点,队列都将确保只有所需数量的并行nltk任务将同时运行。