anchor.diff:  [[route-specific-annotations]]
   == Route-specific Annotations
   
  -Using environment variables as defined in xref:env-variables[Configuration Parameters],
  -a router can set the default options for all the routes it exposes. An individual route can
  -override some of these defaults by providing specific configuration in its annotations.
  -
  +Using environment variables as defined in xref:env-variables[Configuration
  +Parameters], a router can set the default options for all the routes it exposes.
  +An individual route can override some of these defaults by providing specific
  +configurations in its annotations.
   
   *Route Annotations*
   
  
positive.code: .Route Annotations
  [cols="3*", options="header"]
  |===
  |Variable | Description | Environment Variable used as default
  |`*haproxy.router.openshift.io/balance*`| Sets the load-balancing algorithm. Available options are `source`, `roundrobin`, or `leastconn`. | `*ROUTER_TCP_BALANCE_SCHEME*` for passthrough routes overwise `*ROUTER_LOAD_BALANCE_ALGORITHM*`.
  |`*haproxy.router.openshift.io/disable_cookies*`| Disables the use of cookies to track related connections. If set to `*true*` the balance algorithm is used to choose which back-end serves connections for each incoming HTTP request. | 
  |`*haproxy.router.openshift.io/rate-limit-connections*`| Setting to `*true*` enables rate limiting functionality. |
  |`*haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp*`| Limits the number of concurrent TCP connections shared by an IP address. |
  |`*haproxy.router.openshift.io/rate-limit-connections.rate-http*`| Limits the rate at which an IP address can make HTTP requests. |
  |`*haproxy.router.openshift.io/rate-limit-connections.rate-tcp*`| Limits the rate at which an IP address can make TCP connections. |
  |`*haproxy.router.openshift.io/timeout*` | Sets a server-side timeout. | `*ROUTER_DEFAULT_SERVER_TIMEOUT*`
  |`*router.openshift.io/haproxy.health.check.interval*`| Sets the interval for the back-end health checks. | `*ROUTER_BACKEND_CHECK_INTERVAL*`
  |===
  
  
  
negative.code: [NOTE]
  ====
  If you want to run multiple routers on the same machine, you must
  change the ports that the router is listening on,
  `ROUTER_SERVICE_SNI_PORT` and `ROUTER_SERVICE_NO_SNI_PORT`.  These ports can
  be anything you want as long as they are unique on the machine.  These ports will
  not be exposed externally.
  