HAProxy loadbalancing for SOAP interface

Hello everyone,

I try to using HAproxy do the Load balancing for SOAP interface, the haproxy configuration like this:

frontend ft_DMC_L7_HTTP_50403
    bind    haproxy-lh:50403
    mode    http
    log    global
    option    httplog
    timeout client    900s
    maxconn    2000
    acl allowed_dmc_uris  url_reg  -i ^/(dmc)
    acl allowed_ADDWeb_uris  url_reg  -i ^/(ADDWeb/)
    http-request deny unless allowed_dmc_uris or allowed_ADDWeb_uris
    use_backend bk_DMC_L7_HTTP_50403_ADDWeb if allowed_ADDWeb_uris
    default_backend    bk_DMC_L7_HTTP_50403

backend bk_DMC_L7_HTTP_50403
    balance    roundrobin
    mode    http
    log    global
    option    httplog
    option    forwardfor    except    127.0.0.1/8
    cookie    JSESSIONID    prefix    nocache
    default-server inter 3s rise 2 fall 3 slowstart 0
    option    httpchk HEAD / HTTP/1.0    # Advanced http check
    timeout server    120s    # Server inactivity timeout
    server SRV01 SRV01:50400 maxconn 2000 weight 10 cookie E1 check
    server SRV02 SRV02:50400 maxconn 2000 weight 10 cookie E2 check

backend bk_DMC_L7_HTTP_50403_ADDWeb
        balance roundrobin
        mode    http
        log     global
        option  httplog
        timeout server    25s
        timeout connect   10s
        server SRV01 SRV01:50400 maxconn 2000 weight 10 check
        server SRV02 SRV02:50400 maxconn 2000 weight 10 check

But the result is client didn’t get soap response, tcpdump capture display “TCP ACKed unseen segment”.
6 0.622194 10.200.99.5 10.200.101.248 HTTP/XML 760 POST /ADDWeb/services/SetSubscriberDetails HTTP/1.1
7 0.659787 10.200.101.248 10.200.99.5 TCP 54 [TCP ACKed unseen segment] 50403→35061 [ACK] Seq=17652722 Ack=1129711 Win=7296 Len=0
8 1.136932 10.200.101.248 10.200.99.5 HTTP/XML 589 [TCP ACKed unseen segment] HTTP/1.1 200 OK

Kindly help me for this issue.

More importantly the tcpdump shows “HTTP/1.1 200 OK” which means a positive HTTP response is send towards the client. So there doesn’t seem to be any problem.

Will need full pcap captures to investigate further.

Hi Lukas,

Thanks for your reply,
I have uploaded soap.cap file in the https://cloud.sicap.com/index.php/s/wq7UQAv1RvYDddK

Best Regards,
Frank

Not sure what happens here. The answer is there, but it seems the TCP connection is messed up. Does the request actually fail on the application level? If yes, with a timeout?

How exactly did you take this capture? On the haproxy box, or on the client? Are there any TCP intercepting middleboxes between the client and the server?

Can you exclude a client problem?