Le 21/08/2018 à 18:36, Willy Tarreau a écrit :
Cyril,
if you want to test, please be sure to update to at least 1b13bfd as
we've just added another fix on top of this series.
OK, I was performing some tests, I've now updated with this patch.
It looks better as now I don't see anymore hangs, but some issues
remain. It seems that some data in the buffers are not processed correctly.
Some requests done in the grafana dashboard fails to receive the response.
Note that in that test, I'm in the case where SSL is performed on a
frontend, then sent to a backend thru abns and send-proxy, the backends
makes some captures, etc...
Time to time, it results in such logs :
Aug 21 18:52:25 intense.local haproxy[5894]: unix:2
[21/Aug/2018:18:52:25.169] http/ssl-offload-http: Received something
which does not look like a PROXY protocol header
To exclude send-proxy from the equation, I've replaced the line
server http abns@http send-proxy
with
use_backend http
Sadly, it was worst with a new segfault on header captures.
#0 0x0000563f9a94bee7 in http_action_req_capture (rule=<optimized out>,
px=<optimized out>, sess=<optimized out>, s=<optimized out>,
flags=<optimized out>) at src/proto_http.c:12268
12268 if (cap[h->index] == NULL)
(gdb) bt
#0 0x0000563f9a94bee7 in http_action_req_capture (rule=<optimized out>,
px=<optimized out>, sess=<optimized out>, s=<optimized out>,
flags=<optimized out>) at src/proto_http.c:12268
#1 0x0000563f9a95076b in http_req_get_intercept_rule
(px=px@entry=0x563f9b34f440, rules=rules@entry=0x563f9b34f488,
s=s@entry=0x563f9e49f3f0, deny_status=deny_status@entry=0x7ffd1da4e20c)
at src/proto_http.c:2767
#2 0x0000563f9a956eec in http_process_req_common
(s=s@entry=0x563f9e49f3f0, req=req@entry=0x563f9e49f400,
an_bit=an_bit@entry=256, px=0x563f9b34f440) at src/proto_http.c:3494
#3 0x0000563f9a98ea3a in process_stream (t=<optimized out>,
context=0x563f9e49f3f0, state=<optimized out>) at src/stream.c:1932
#4 0x0000563f9aa14978 in process_runnable_tasks () at src/task.c:381
#5 0x0000563f9a9c3371 in run_poll_loop () at src/haproxy.c:2386
#6 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2451
#7 0x0000563f9a91d9de in main (argc=<optimized out>,
argv=0x7ffd1da4e748) at src/haproxy.c:3053
--
Cyril Bonté