Passive healthcheck for UDP

Roman Arutyunyan arut at
Mon Apr 24 17:46:10 UTC 2017


On Mon, Apr 24, 2017 at 05:58:34PM +0200, Sékine Coulibaly wrote:
> Hi,
> I'm gathering some information regarding UDP load balancing. I've come
> accross this in
> and I'm quite
> puzzled :
> "NGINX can mark the server as unavailable and stop sending UDP datagrams to
> it for some time if the server replies with an error or times out.
> The number of consecutive failed connection attempts within a certain time
> period is set with the max_fails parameter for an upstream server (default
> value is 1)."
> What is unclear to me is the "failed connection attempt" term. 

Thanks for spotting this, we'll fix the documentation.
This phrase obviously came from TCP.

> UDP being a
> connectionless protocol, it's unclear what is the actual method used by
> NGINX to decide whether a passive health check is successfull or not. Would
> the existence of traffic from server to Nginx be a sign of success or are
> other methods involved ?

A UDP session is considered unsuccessful if 

- a UDP socket I/O error happened, usually as a result of an ICMP error report

- proxied server did not send the response within proxy_timeout if
proxy_responses is set.  If it's unset, this error can never happen.

Roman Arutyunyan

More information about the nginx mailing list