Hi,
I've upgraded to HAProxy 2.4.11 and now I seem to have a problem with
bigger file uploads (>70MB).
When uploading a file I get a 500 back from HAProxy, and if I retry it
immediately it most of the time succeeds. Downgrading to 2.4.10 fixes
the issue. The log I get is:
Jan 10 12:09:45 [redacted] haproxy[21823]: 2001:67c:[redacted]
[10/Jan/2022:12:09:20.543] [redacted]~ [redacted]/[redacted]
11198/0/0/-1/25137 500 1991 - - IH-- 957/282/0/0/0 0/0
{[redacted].[redacted].com|Mozilla/5.0
(Mac|80349066|https://[redacted].[redacted].com/upload} {} “POST
https://[redacted].[redacted].com/upload/process?projectId=3431&setId=149
HTTP/2.0”
The frontend is HTTP/2.0 and the backend is NGINX talking HTTP/1.1
(non-TLS).
The config is quite large, but I think it boils down to:
---
frontend [redacted]
bind [redactes]]:80 transparent
bind 2001:67c:[redacted]:80 transparent
bind [redacted]:443 transparent ssl crt /etc/haproxy/ssl/[redacted]
strict-sni alpn h2,http/1.1 npn h2,http/1.1
bind 2001:67c:[redacted]:443 transparent ssl crt
/etc/haproxy/ssl/[redacted] strict-sni alpn h2,http/1.1 npn h2,http/1.1
mode http
maxconn 16384
option httplog
option dontlog-normal
option http-ignore-probes
option forwardfor
option http-buffer-request
capture request header Host len 64
capture request header User-Agent len 16
capture request header Content-Length len 10
capture request header Referer len 256
capture response header Content-Length len 10
acl [some ACLs here]
acl [some ACLs here]
http-request deny if [an ACL]
http-request deny if [another ACL]
use_backend [failing-backend] if [ACL]
use_backend
%[req.hdr(host),lower,regsub(^www\.,,i),map(/etc/haproxy/map.d/file.map,yes-backend)]
default_backend another-backend
backend failing-backend
fullconn 256
mode http
balance roundrobin
option abortonclose
option prefer-last-server
option redispatch
option httpchk GET /check-thingy HTTP/1.0
http-check expect status 200
default-server weight 100 maxconn 20 check inter 2s rise 3 fall 3
slowstart 5m agent-check agent-port 8081 agent-inter 20s
server server1 [redacted]:80 cookie cookie1
server server2 [redacted]:80 cookie cookie2
# Sorry Server
server outage 127.0.0.1:80 backup
retries 1
---
If any more info is needed, please let me know.
Regards,
Sander Klein