Le 24/01/2017 à 10:55, Vladimir Mihailenco a écrit :
This is the config -
https://gist.github.com/vmihailenco/9010ad37f5aeb800095a6b18909ae7d5.
Backends don't have any options. I already tried to remove `http-reuse
safe`, but it does not make any difference.

Haproxy 1.7 with compression (HTML not fully loaded) -
https://gist.github.com/vmihailenco/05bda6e7a49b6f78cd2f749abb0cf5b3
Haproxy 1.7 without compression (HTML fully loaded) -
https://gist.github.com/vmihailenco/d8732e53acac3769a85b59afd7336bab
Haproxy 1.7 with compression and Rails configured to set Content-Length
via config.middleware.use Rack::ContentLength (HTML fully loaded) -
https://gist.github.com/vmihailenco/13a809f486c4e1833ef813a019549180


Hi,

Thanks for details. There are some things that puzzle me.

I guess that when you disable the compression, it means that you comment "compression" lines in the frontend section. In that case, we can see the response is chunked. Because it is untouched by HAProxy, this comes from your backend. Here there is no problem.

But when the compression is enabled, there is a Content-Length header and no Transfer-Encoding header. That's really strange because, HAProxy never adds Content-Length header, at any place. So, I'm tempted to think that it comes from your backend. But that's contradicts my previous remark. And there is no Content-Encoding header. So, it means that HAProxy didn't compressed the response.

So, to be sure, if possible, it could be helpful to have tcpdump of data exchanged between HAProxy and your backends (or something similar, as you prefer). Send me them in private to not flood the ML. In the meantime, I will try to investigate.

        With Haproxy 1.6 and enabled compression
        - i can load full HTML (200kb)
        - HTML is not compressed
        - Transfer-encoding: "chunked"
        - no Content-Length header

Just to be sure, here there is a typo error. You meant "HTML is compressed", right ?

--
Christopher

Reply via email to