limit_conn_zone $binary_remote_addr zone=addr:16m;
limit_conn_zone $server_addr zone=server:16m;
server{
listen 5556;
server_name limit.test;
limit_conn addr 1;
limit_conn server 5;
location / {
echo_sleep 1;
echo "I'm here!";
}
}$ for i in {1..9}; do curl -sI --interface 127.0.0.1 127.0.0.1:5556 | grep HTTP & done | grep HTTP; wait
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 200 OK$ for i in {1..9}; do curl -sI --interface 127.0.0.$i 127.0.0.1:5556 | grep HTTP & done | grep HTTP; wait
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 503 Service Temporarily Unavailable
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK