Hi Willy, List,

I seem to have great luck with HTX and finding obscure bugs. I upgraded to 
2.0.0 on our main deployment recently (reasonably heavy load: 5k simultaneous 
conns, upwards of 1Gbps at times), and whenever HTX is enabled, I see very 
weird behavior:

- First load typically works for primary domain, www. (html + assets, maybe 150 
requests max; we're working on reducing this number ;) )
- First load never works for secondary domain, media.
- All failed requests on secondary domain (same haproxy instance, different 
backend) timeout with a server data timeout (SD--)
- A second (or third or fourth) reload of the primary page typically fails or 
hangs for a long time. If I wait ~2 minutes (roughly our timeout), it'll act 
like a first load.

Important details:
www.   -> h2/h1.1 FE -> BE nginx h2+ssl (local network, three backend servers, 
using private IP)
media. -> h2/h1.1 FE -> BE IIS h1.1+ssl (separate network, one backend server, 
using public IP)

If I disable HTX, it works. Our config is not complex, but I've included 
relevant bits below:

default-server ca-file ca-bundle.crt resolvers default inter 5s fastinter 2s 
downinter 10s init-addr libc,last check ssl verifyhost sermonaudio.com 
pool-purge-delay 20s max-reuse 900
[snip]
frontend sermonaudio
  bind 0.0.0.0:443,[::]:443 alpn h2,http/1.1 ssl crt ssl.file
  bind 0.0.0.0:80,[::]:80

[snip]

backend media
  server media <ip>:443 verify none

[snip]

backend www
  option httpchk GET /nginx-health

  # Static for now
  server www-00 <private-ip>:30993 alpn h2,http/1.1 check-alpn http/1.1
  server www-01 <private-ip>:30993 alpn h2,http/1.1 check-alpn http/1.1
  server www-02 <private-ip>:30993 alpn h2,http/1.1 check-alpn http/1.1

Let me know if you want me to try a patch or latest git or something else! Also 
happy to provide additional information if it's helpful.

Best,
Luke

—
Luke Seelenbinder
SermonAudio.com <http://sermonaudio.com/> | Senior Software Engineer






Reply via email to