After sending to this list I got spammed by random people telling me that they 
are on vacation. WTF.

It's so much better to report issues on github and not to mess with emails and 
these random replies.


________________________________
From: p s <[email protected]>
Sent: July 29, 2017 4:05 PM
To: [email protected]
Subject: haproxy fails to properly direct connection to correct back end.


I had default version of haproxy from ubuntu, which was 1.5.x, so I decided to 
update to latest stable first before I report the bug.

After I update to latest 1.7.x haproxy stops working with my config. When I was 
trying to start I was getting:


Job for haproxy.service failed because the control process exited with error 
code. See "systemctl status haproxy.service". systemctl status haproxy.service 
wouldn't show any info about why haproxy fails. FYI, with nginx it clearly 
points to what nginx doesn't like, and there is no need to guess. Can this be 
fixed to properly show errors?


So, back to my original issue.

Basically, I added only this to the default config:


backend nodejs
    timeout server 1h
    timeout connect 1s
    option httpclose
    option forwardfor
    server server1 127.0.0.1:80 #check

backend nodejs_test
    timeout server 1h
    timeout connect 1s
    option httpclose
    option forwardfor
    server server2 127.0.0.1:3000
    option http-no-delay

frontend all
    bind *:8090
    timeout client 1h
    option http-no-delay
    acl is_test path_beg /test
    use_backend nodejs_test if is_test
    default_backend nodejs
    mode http

I do not run anything on port 80, now I make a request to example.com/test and 
haproxy totally fails. 1.5.x would fail with "ERROR 503: Service Unavailable." 
on first request and would work on second one, 1.7.x doesn't fail that 
miserably, it just doesn't work at all, and my wget auto-retries 3 times and 
then it works.
I inspected with wireshark what's going on and I see that haproxy when handling 
my request tries to connect to default backend on port 80 (and I don't run 
anything on port 80 atm). It's clearly a bug, it shouldn't even touch port 80, 
and should directly connect to nodejs_test on port 3000.


Another point: why don't you host your project on github, it will be way more 
popular, it would be much easier for anybody to contribute etc. Now, it does 
feel like haproxy should be avoided, as there is no bugtracker, mailing list 
that feels broken, etc... feels like it's dying.

Reply via email to