"limit_req_zone" unknown directive

Maxim Dounin mdounin at mdounin.ru
Fri Oct 29 15:41:27 MSD 2010


Hello!

On Fri, Oct 29, 2010 at 07:28:07AM -0400, TAiS46 wrote:

> Maxim Dounin Wrote:
> -------------------------------------------------------
> > Hello!
> > 
> > On Fri, Oct 29, 2010 at 06:33:45AM -0400, TAiS46
> > wrote:
> > 
> > > i have added to my nginx.conf
> > > 
> > > http {
> > >  limit_req_zone $binary_remote_addr
> > zone=antiddos:10m rate=10r/s;
> > > }
> > > 
> > > And in my site config
> > > 
> > > location ~ \.php$ {
> > >  #limit_req zone=antiddos burst=5;
> > > }
> > > 
> > > But i am only getting the error in the topic.
> > > Here my output of nginx -V
> > 
> > [...]
> > 
> > Most likely reason is that you've added
> > limit_req_zone outside of
> > http{} block.  Please show full config.
> 
> user www-data;
> worker_processes  16;
> 
> error_log  /var/log/nginx/error.log info;
> pid        /var/run/nginx.pid;
> 
> events {
>     worker_connections  2048;
> }
> 
> http {
>     client_max_body_size 1600m;
>     include       /etc/nginx/mime.types;
>     default_type  application/octet-stream;
> 
>     access_log  off;
> 
>     sendfile        on;
>     #tcp_nopush     on;
> 
>     keepalive_timeout  0;
>     #keepalive_timeout  65;
>     tcp_nodelay        on;
> 
>     gzip  off;
> 
>     include /etc/nginx/conf.d/*.conf;
>     include /etc/nginx/sites-enabled/*;
> 
>     limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
> }

Most likely you have syntax error in one of your include files,
e.g. extra "}" which moves limit_req_zone outside of http{} block.

Note well: you have to define limit_req_zone before you use it 
limit_req, so after fixing syntax error you'll see error message 
like

[emerg]: unknown limit_req_zone "one" in ...

I.e. moving limit_req_zone before includes is required.

Maxim Dounin



More information about the nginx mailing list