Can't get "streaming" or pipe to work, Varnish still waits for the full response

Batanun B batanun at
Sat Sep 12 22:06:55 UTC 2020


We have some old (legacy) internal admin pages that do some classic old school processing while the page is loading, and outputting the current status as it is working. When requesting these pages directly (through Tomcat), I can see the results in the browser at the same time as the results are written on the other end. But when I go through Varnish, no matter what I try, I only see a blank page that is loading/waiting, and then when the backend is done writing, then I get the entire result in one go.

How can I configure Varnish to bring any content to the client the moment it gets it from the backend, and not wait until the entire response is done?

In vcl_backend_response I do this:
  set beresp.do_stream = true;
  set beresp.uncacheable = true;
  return (deliver);

I have also tried returning (pipe) in vcl_recv (with and without do_stream and uncacheable). And gzip is turn off. But nothing helps. What can I do more? And how can I debug this? Varnishlog shows nothing that is telling me that it is buffering, or waiting for the response, or anything like that.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the varnish-misc mailing list