 
  
   
  
  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 
  
  