我已经成功地设置了IP地址的速率限制,
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
但我想知道是否有可能做同样的推荐人? 例如,如果一个网站被放置在第三方网站上的iframe中,会产生太多的stream量来处理。
我找不到任何地方的引用的任何nginxvariables。
我不想完全阻止stream量,只是限制来自iframe的stream量。
这可能吗? 或者可以用不同的方式实现解决scheme?
谢谢。
Twitter上的@R1CH_TLbuild议使用如下所示:
map $http_referer $limit_ip_key { default $binary_remote_addr; "http://domain-to-limit.co.uk/" 1; } limit_req_zone $limit_ip_key zone=two:10m rate=1r/s;
这个方法会起作用吗? 它会比silasistefan的解决scheme更好吗?
你尝试过这样的事情吗?
location / { error_page 410 = @ads; # if referrer is invalid then limit valid_referers none blocked www.domain.com; if ($invalid_referer) { return 410; } # if ?isAD=1 then limit if ($arg_isAD = "1"){ return 410; } root /var/www; } location @ads { limit_req zone=one burst=5; }