Estou usando o nginx versão 1.6.2 no ubuntu 14.04
Eu tentei inserir limit_conn
e limit_req
no arquivo de configuração com referência à documentação do nginx .
O Nginx está funcionando bem sem limit_conn
e limit_req
opção .
A seguir estão os casos de teste da configuração do nginx com mensagens de log.
Eu não sei o que há de errado com o meu código.
Caso 1 - configuração completa
/etc/nginx/nginx.conf
http {
...
include /etc/nginx/sites-enabled/*;
...
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
...
}
/etc/nginx/sites-enabled/service.conf
server {
...
location / {
limit_conn conn_limit_per_ip 30;
limit_req zone=req_limit_per_ip burst=5 nodelay;
...
}
...
}
log message
unknown limit_req_zone "req_limit_per_ip" in /etc/nginx/sites-enabled/service.conf
Caso 2 - remova limit_req
do arquivo de configuração habilitado para sites
/etc/nginx/nginx.conf
http {
...
include /etc/nginx/sites-enabled/*;
...
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
...
}
/etc/nginx/sites-enabled/service.conf
server {
...
location / {
limit_conn conn_limit_per_ip 30;
...
}
...
}
log message
the size 10485760 of shared memory zone "conn_limit_per_ip" conflicts with already declared size 0 in /etc/nginx/nginx.conf
Caso 3 - remova limit_conn
do arquivo de configuração habilitado para sites
/etc/nginx/nginx.conf
http {
...
include /etc/nginx/sites-enabled/*;
...
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
...
}
/etc/nginx/sites-enabled/service.conf
server {
...
location / {
limit_req zone=req_limit_per_ip burst=5 nodelay;
...
}
...
}
log message
unknown limit_req_zone "req_limit_per_ip" in /etc/nginx/sites-enabled/service.conf
Caso 4 - remova tudo do arquivo de configuração habilitado para sites
/etc/nginx/nginx.conf
http {
...
include /etc/nginx/sites-enabled/*;
...
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
...
}
/etc/nginx/sites-enabled/service.conf
server {
...
location / {
...
}
...
}
log message
[OK] - nginx reloaded well
Caso 5 - remova limit_req_zone
e limit_req
/etc/nginx/nginx.conf
http {
...
include /etc/nginx/sites-enabled/*;
...
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
...
}
/etc/nginx/sites-enabled/service.conf
server {
...
location / {
limit_conn conn_limit_per_ip 30;
...
}
...
}
log message
the size 10485760 of shared memory zone "conn_limit_per_ip" conflicts with already declared size 0 in /etc/nginx/nginx.conf
Caso 6 - remova limit_conn_zone
e limit_conn
/etc/nginx/nginx.conf
http {
...
include /etc/nginx/sites-enabled/*;
...
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
...
}
/etc/nginx/sites-enabled/service.conf
server {
...
location / {
limit_req zone=req_limit_per_ip burst=5 nodelay;
...
}
...
}
log message
unknown limit_req_zone "req_limit_per_ip" in /etc/nginx/sites-enabled/service.conf