health check passthrough not 100% in combination with haproxy

Marc Marc at f1-outsourcing.eu
Tue Oct 19 23:29:58 EEST 2021


Should this be filed as a bug somewhere?


> 
> I have been trying to get a simple health check in haproxy to work. But
> somehome the haproxy request is differently handled then a curl request,
> which generates a socket error in haproxy.
> 
> The health script echos these lines, with this config[2]
> 
>     echo -ne "HTTP/1.1 200 OK\r\n"
>     echo -ne "Content-Length: 0\r\n"
>     echo -ne "\r\n"
>     exit 0
> 
> The curl request generates ok, haproxy generates socket error. The
> haproxy=yes, reuseport=yes do not seem to resolve anything. If stop
> dovecot and run "dovecot-health-check.sh | nc -l 192.168.10.46 5001"
> then the haproxy check is ok. So I guess the script is ok. But what is
> dovecot then doing with it's output when haproxy is requesting it?
> 
> 
> 
> [1]
> https://discourse.haproxy.org/t/httpck-on-bash-script-results-in-socket-
> error/5647/16
> 
> [2]
> service health-check {
>   executable = script -p /usr/local/sbin/dovecot-health-check.sh
>   inet_listener health-check {
>     port = 5001
>     haproxy = no
>     reuse_port = no
>  }
> }


More information about the dovecot mailing list