Some Hardware Load-balancers such Cisco's CSS and BigIP Products test the readiness of the backend Machines with SYN-ACK-RST.

This behavior causes a 400 error in nginx.

With the GEO Module and the if-Statement you can omit these entries:

http {
    geo  $lb  {
         default      0;
         10.1.1.1/32  1;   # LB IPs
         10.1.1.2/32  1;
     }

    ...

    server {
        ...

        access_log   /path/to/log;

        error_page 400 /400;

        location = /400 {
            if ($lb) {
                access_log  off;
            }
            return 400;
        }
      }
  }

HWLoadbalancerCheckErrors (last edited 2007-12-30 19:17:53 by Emiller)