Dealing with "http format error"

HC Saustrup hc at
Thu Sep 23 08:25:04 CEST 2010

On 9/22/10 3:36 PM, Jay Luker wrote:
> On Wed, Sep 22, 2010 at 2:40 AM, Tollef Fog Heen
> <tfheen at>  wrote:
>> | It appears that because this backend does not provide any http headers
>> | in the response that varnish is interpreting part of the response
>> | itself as the protocol, status code, etc. The log output below
>> | indicates that the RxProtocol, RxStatus, RxResponse and RxHeader
>> | values actually contain strings from what should be the body of the
>> | response.
>> Seems like your backend is speaking HTTP 0.9, which I'm not sure we
>> support.  Is there any chance you could get it to be less archaic?
I tested the URL on my laptop out of curiosity, and it turns out that my 
transparent Squid proxy can fill in the missing headers (I kinda forgot 
I still had it running):

$ curl -D - -o /dev/null --silent 
HTTP/1.0 200 OK
Server: squid/3.1.4
Mime-Version: 1.0
Date: Thu, 23 Sep 2010 06:24:00 GMT
X-Transformed-From: HTTP/0.9
X-Cache: MISS from server.lan
X-Cache-Lookup: MISS from server.lan:3128
Via: 1.0 server.lan (squid/3.1.4)
Connection: close

Seems like a lot of hoops to jump through, but apparently a Squid in 
between will fix the problem.


More information about the varnish-misc mailing list