有两种方法,一种正对user agent ,$http_user_agent
第二种就是利用 limit_conn 模块
这个方法网上到处是
limit_zone one $binary_remote_addr 10m;
写作http 中
limit_conn one 5;
写在 server 的location中,
需要指出的是两者不能并用,返回403了就不会记ip了,这一点我纠结了很久,大概2小时样子,
至少我在1.0.4 版本中是这样的
limit conn 模块限定了以后,超了就好503,但好像返回的字节是206,403的话可以更少一点.不过limit 的好处是,对方伪装了user agent 以后进行攻击也是无效的,不用修改相关语句。