Hey,
I am using haproxy-1.8.27-4.el8.x86_64 on a redhat linux.
I have the issue with http-bind bosh tcp mode connections.
User signs in on a web app (converse.js). Converse tells the the user what address to be used for http-bind, what is a different URL.
Once user/client got the URL, it comes back to the haproxy that leads it to the xmpp server.
So far so good. When it comes to writing pubsub nodes on the xmpp server the client writes weird things. It should create to records what supposed to be a pair. But they are not a pair after writing them.
Meaning, Record 1 should be refer to record 2 to by using a kind of id.
I believe that haproxy creates two sessions and the xmpp server writes two different records due to two sessions. Maybe I am totally wrong, but I just want to exclude/confirmed either haproxy causes this issue or not. I have also tried a few stick table options without any luck. Always same results.
Here my config:
frontend ft_chat_7443
mode tcp
bind *:7443
option tcplog
tcp-request inspect-delay 10s
tcp-request content track-sc0 ssl_fc_protocol table bk_sxmp02_7443
tcp-request content accept if { req_ssl_hello_type 1 }
log-format "%ci:%cp %sslv [%t] %ft %b/%s %Tw/%Tc/%Tt %B %ts %ac/%fc/%bc/%sc/%rc %sq/%bq"
option socket-stats
acl acl_sxmp02_7443 req_ssl_sni -i sxmp02.xxx.net
acl acl_webchat_7443 req_ssl_sni -i webchat.xxx.net
use_backend bk_sxmp02_7443 if acl_sxmp02_7443 #### xmpp server to be used
use_backend bk_sxmp02_7443 if acl_webchat_7443 #### Converse.js web app server
default_backend bk_sxmp02_7443_default
backend bk_sxmp02_7443
mode tcp
#stick-table type ip size 1 nopurge
#stick on dst
# stick-table type ip size 1m expire 10h
# stick on src
# stick-table type string len 32 size 100k expire 30m
# stick on req.cook(sessionid)
stick-table type string len 32 size 200 expire 24d store http_req_rate(1d)
server chat02 sxmp02.xxx.net:7443 check