Hello folks Haproxy 1.6.3. Compiled in OpenIndiana with kernel from December 2015 (illumos-cbff3ab).
I would like to use an offset for the ports in the server definition. We have several pairs of message brokers in a master/slave scenario with up to three instances of the admin console listening on the ports 8161, 8162, 8163 (prod, test, dev). What I would like to use is e.g. ... bind :28161,:28162,:28163 ... server .... <IPADDRESS OF TARGET>:-20000 ... This does not work because the health checks don't respect the server flag SRV_F_MAPPORTS. This flag is set when during parsing the offset is recognized and used in backend.c (line 787). It should be used in checks.c in connect_conn_chk (line 1421). Line numbers are from version 1.6 from the sources found in github. In the following I use the scenario with 2 instances 8162 and 8163. Both instances are running on zd-activemq-s22 and are down on zd-activemq-s21. The first proxy works but the health check uses the wrong instance. The health check uses port 8162 and the connection will be made with port 8163. The second proxy does not work at all. The health check uses 8161 where no instance is listening. No target servers are found and the proxy is not usable. # cat /opt/etc/haproxy-test.cfg global maxconn 4096 defaults log global mode http option dontlog-normal retries 3 maxconn 2000 timeout connect 5000 timeout client 50000 timeout server 50000 listen statistics bind :1935 stats enable stats uri /haproxy?stats stats auth admin:admin listen activmq-works bind :8162 option httpchk HEAD / server zd-activemq-s21 10.50.241.93:+1 check server zd-activemq-s22 10.50.241.94:+1 check listen activmq-doesnotwork bind :18161 option httpchk HEAD / server zd-activemq-s21 10.50.241.93:+1 check server zd-activemq-s22 10.50.241.94:+1 check # haproxy -f /opt/etc/haproxy-test.cfg [WARNING] 037/091117 (29237) : Server activmq-works/zd-activemq-s21 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. [WARNING] 037/091118 (29237) : Server activmq-doesnotwork/zd-activemq-s21 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. [WARNING] 037/091118 (29237) : Server activmq-doesnotwork/zd-activemq-s22 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. [ALERT] 037/091118 (29237) : proxy 'activmq-doesnotwork' has no server available! Regards Andreas

