On 17.02.2017 12:42, Chungwei Yen wrote:
> Hi
>
> I am having a strange error when sending requests back to haproxy. The
> configuration is to have an additional layer of frontend/backend to
> generate a unique request id for every request then redirect back to
> haproxy to the real frontend.
> This works fine in the the beginning, but after several minutes I started
> to see 502 errors, most of the query still works, 502 only happens to about
> 1% of the request but it is already causing problems. Any idea what could
> cause this?
>
> The haproxy.cfg looks like this
>
> frontend logger-in
> mode http
> bind *:80,*:8080
> no log
> timeout http-keep-alive 5s
> acl existing-uniq-id req.hdr(X-Unique-ID) -m found
> http-request set-header X-Unique-ID %{+X}o\ci:%cp_%fi:%fp_%Ts_%rt:%pid
> unless existing-uniq-id
> default_backend logger
>
> backend logger
> mode http
> server localhost localhost:81 send-proxy
>
> frontend jetty-in
> mode http
> bind *:80,*:8080
> option httplog
> option dontlognull
> ...
>
> -------------------------------------------------
> 502 errors:
>
> Feb 16 23:45:57 localhost haproxy[73824]: 10.23.0.36:49839
> [16/Feb/2017:23:45:57.938] logger-in logger/localhost 0/0/0/-1/0 502 204 -
> - SH-- 49/15/2/2/0 0/0 "GET request url HTTP/1.1"
> Feb 16 23:46:54 localhost haproxy[73824]: 10.23.0.32:53487
> [16/Feb/2017:23:46:54.990] logger-in logger/localhost 0/0/0/-1/0 502 204 -
> - SH-- 62/21/4/4/0 0/0 "GET request url HTTP/1.1"
> Feb 16 23:47:27 localhost haproxy[73824]: 10.23.0.46:57830
> [16/Feb/2017:23:47:27.306] logger-in logger/localhost 0/0/0/-1/0 502 204 -
> - SH-- 62/21/6/6/0 0/0 "GET request url HTTP/1.1"
> Feb 16 23:47:31 localhost haproxy[73824]: 10.23.0.38:64621
> [16/Feb/2017:23:47:31.377] logger-in logger/localhost 0/0/0/-1/0 502 204 -
> - SH-- 69/25/8/8/0 0/0 "GET request url HTTP/1.1"
> Feb 16 23:47:33 localhost haproxy[73824]: 10.23.0.32:53630
> [16/Feb/2017:23:47:33.706] logger-in logger/localhost 0/0/0/-1/0 502 204 -
> - SH-- 77/29/11/11/0 0/0 "GET request url HTTP/1.1"
Have you checked the error log on the servers?
According to the haproxy documentation the flags "SH--" mean:
S : the TCP session was unexpectedly aborted by the server, or the
server explicitly refused it.
H : the proxy was waiting for complete, valid response HEADERS from the
server (HTTP only).
So it seems the servers have some problem responding to the requests.
Regards,
Dennis