Como desabilito a codificação 'Transfer-Encoding: chunked' no Varnish?

UsandoVerniz 4, Eu tenho um conjunto de back-ends que estão respondendo com um válidoContent-Length cabeçalho e nãoTransfer-Encoding cabeçalho.

Na primeira ocorrência de um cliente, em vez de responder ao cliente com esses cabeçalhos, o Varnish está descartando oContent-Length cabeçalho e adiçãoTransfer-Encoding: chunked para a resposta. (Curiosamente, a carga útil não parece conter partes - é uma carga contígua).

Isso causa sérios problemas para clientes como players de vídeo Flash que estão tentando fazer análises de tamanho de segmento, largura de banda etc., com base noContent-Length cabeçalho. A análise deles falha e eles não podem fazer coisas como streaming com várias taxas de bits, etc.

Eu tentei várias coisas semi-óbvias como:

beresp.do_stream = trueberesp.do_gzip = falseunset req.http.Accept-Encoding

Resposta de back-end de amostra:

HTTP/1.1 200 OK
Cache-Control: public, max-age=600
Content-Type: video/mp4
Date: Tue, 13 May 2014 19:44:35 GMT
Server: Apache
Content-Length: 796618
Connection: keep-alive

Amostra de resposta ao verniz:

HTTP/1.1 200 OK
Server: Apache
Cache-Control: public, max-age=600
Content-Type: video/mp4
Date: Tue, 13 May 2014 23:10:06 GMT
X-Varnish: 2
Age: 0
Transfer-Encoding: chunked
Accept-Ranges: bytes

Cargas subsequentes do objetoFaz incluindo oContent-Length cabeçalho, apenas não a primeira carga no cache.

VCL:https://gist.github.com/onethumb/e64a405cc579909cace1

varnishlog output:https://gist.github.com/onethumb/e66a2bc4727a3a5340b6

Verniz Trac:https://www.varnish-cache.org/trac/ticket/1506

questionAnswers(3)

yourAnswerToTheQuestion