使用Nginx限制服务器脚本

时间:2014-05-27 12:09:45

标签: python nginx throttling

我的服务器上有一个(python)脚本,我不希望由同一个人/机器人经常执行。每隔5秒钟就可以了,但是如果有人试图更频繁地运行它,那只会伤害我的服务器......

由于该应用程序只是一个小周末项目,我不想使用一些复杂的欺诈/ ddos​​保护系统。应该有一个简单的方法来实现Nginx ngx_http_limit_req_module

我发现手册有点令人困惑......你有这个场景的样本吗?

每个IP应该只允许每5秒连接一个位置。

1 个答案:

答案 0 :(得分:1)

  

费率以每秒请求数(r / s)指定。如果需要每秒少于一个请求的速率,则在每分钟请求(r / m)中指定。例如,每秒半请求为30r / m。

# Allow not more than 12 request per minute at an average, with bursts not exceeding 1 requests.
limit_req_zone $binary_remote_addr zone=one:10m rate=12r/m;

server {
    location /path/to/python/script.py {
        limit_req zone=one burst=1;
    }
}