[Varnish] #1826: 503 backend error after response with 204 without a body, varnish 4.1

Varnish varnish-bugs at varnish-cache.org
Wed Dec 2 11:37:11 CET 2015


#1826: 503 backend error after response with 204 without a body, varnish 4.1
--------------------------+--------------------
 Reporter:  xrowkristina  |       Type:  defect
   Status:  new           |   Priority:  high
Milestone:                |  Component:  build
  Version:  4.1.0         |   Severity:  normal
 Keywords:                |
--------------------------+--------------------
 Hey guys,

 there is a bug in varnish if a response is sending 204 without a body.
 Look at this http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html, in
 case of 204 a body is not allowed.

 Here is an example request without varnish:

 {{{
 [11:11:24] root at webxyz.de # curl
 'http://localhost/sso/linksubscription?access_token=MmRkYWNmNTY0NTJhZTFhMjNiMjExNGI1MGMyMzcxZmEzMjg0ZmI0YTZmMjJhYzZiMDJmMmUxMjlmMTFlNjVmYg&abonummer=324223424242324'
 -H 'Host: kundenkonto-test.wuv.de' -H 'Cookie:
 eZSESSID=bgocrn0dk4uaibnknlu7n46ht7;' -H 'Connection: keep-alive' -H
 'Pragma: no-cache' -H 'Cache-Control: no-cache' -I
 }}}

 '''Response:'''

 {{{
 HTTP/1.1 204 No Content
 Date: Fri, 06 Nov 2015 10:11:51 GMT
 Server: Apache/2.4.7 (Ubuntu)
 X-Powered-By: PHP/5.5.9-1ubuntu4.9
 Cache-Control: max-age=0, must-revalidate, public, s-maxage=0
 X-Cache-Debug: 1
 Keep-Alive: timeout=5, max=100
 Connection: Keep-Alive
 Content-Type: text/html; charset=utf-8
 }}}


 Here is the same request with varnish:

 {{{
 [11:11:24] root at webxyz.de # curl 'http://kundenkonto-
 test.wuv.de/sso/linksubscription?access_token=MmRkYWNmNTY0NTJhZTFhMjNiMjExNGI1MGMyMzcxZmEzMjg0ZmI0YTZmMjJhYzZiMDJmMmUxMjlmMTFlNjVmYg&abonummer=324223424242324'
 -H 'Host: kundenkonto-test.wuv.de' -H 'Cookie:
 eZSESSID=bgocrn0dk4uaibnknlu7n46ht7;' -H 'Connection: keep-alive' -H
 'Pragma: no-cache' -H 'Cache-Control: no-cache' -I
 }}}

 '''Response:'''

 {{{
 HTTP/1.1 503 Backend fetch failed
 Date: Fri, 06 Nov 2015 10:12:26 GMT
 Age: 0
 X-Powered-By: xrow GmbH
 X-Cache: wuvtest-web-1:MISS:Grace:none:TTL:-52924.482:User-
 Hash:b1731d46b0e7a375a5b024e950fdb8d49dd25af85a5c7dd5116ad2a18cda82cb
 Connection: keep-alive
 Set-Cookie: wuv-p=1678581420.49431.0000; path=/
 }}}


 And here is the varnishlog to the second request:


 *   << BeReq    >> 134065

 -   Begin          bereq 134064 fetch

 -   Timestamp      Start: 1446807850.981084 0.000000 0.000000

 -   BereqMethod    HEAD

 -   BereqURL
 /sso/linksubscription?abonummer=324223424242324&access_token=NDZhMDU5NTU5Y2E3MzgwZTg4YTQwODViZTI4ZTUwZDVmOTcyNGIwMWJkYjNmNDVjMzFiZDkwY2YyMjkxOTY5ZA

 -   BereqProtocol  HTTP/1.1

 -   BereqHeader    User-Agent: curl/7.35.0

 -   BereqHeader    Pragma: no-cache

 -   BereqHeader    X-Forwarded-For: 10.111.120.28, 10.111.120.28

 -   BereqHeader    X-TTL: 247.535

 -   BereqHeader    X-User-Hash:
 b1731d46b0e7a375a5b024e950fdb8d49dd25af85a5c7dd5116ad2a18cda82cb

 -   BereqHeader    X-grace: none

 -   BereqHeader    Host: kundenkonto-test.wuv.de

 -   BereqHeader    Surrogate-Capability: abc=ESI/1.0

 -   BereqHeader    accept: */*

 -   BereqHeader    cookie: eZSESSID=o2dumlbgq09e4g0sotinkevo71;

 -   BereqMethod    GET

 -   BereqHeader    Accept-Encoding: gzip

 -   BereqHeader    X-Varnish: 134065

 -   VCL_call       BACKEND_FETCH

 -   VCL_return     fetch

 -   BackendOpen    18 boot.default1 127.0.0.1 80 127.0.0.1 32876

 -   Timestamp      Bereq: 1446807850.981164 0.000081 0.000081

 -   Timestamp      Beresp: 1446807853.044470 2.063386 2.063306

 -   BerespProtocol HTTP/1.1

 -   BerespStatus   204

 -   BerespReason   No Content

 -   BerespHeader   Date: Fri, 06 Nov 2015 11:04:10 GMT

 -   BerespHeader   Server: Apache/2.4.7 (Ubuntu)

 -   BerespHeader   X-Powered-By: PHP/5.5.9-1ubuntu4.9

 -   BerespHeader   Cache-Control: max-age=0, must-revalidate, public,
 s-maxage=0

 -   BerespHeader   Vary: X-User-Hash

 -   BerespHeader   Content-Length: 0

 -   BerespHeader   Content-Type: text/html; charset=utf-8

 -   BackendClose   18 boot.default1

 -   Error          Body cannot be fetched

 -   Timestamp      Error: 1446807853.044513 2.063429 0.000043

 -   BerespProtocol HTTP/1.1

 -   BerespStatus   503

 -   BerespReason   Service Unavailable

 -   BerespReason   Backend fetch failed

 -   BerespHeader   Date: Fri, 06 Nov 2015 11:04:13 GMT

 -   BerespHeader   Server: Varnish

 -   VCL_call       BACKEND_ERROR

 -   VCL_return     deliver

 -   Storage        malloc Transient

 -   ObjProtocol    HTTP/1.1

 -   ObjStatus      503

 -   ObjReason      Backend fetch failed

 -   ObjHeader      Date: Fri, 06 Nov 2015 11:04:13 GMT

 -   ObjHeader      Server: Varnish

 -   Length         0

 -   BereqAcct      531 0 531 272 0 272

 -   End

 This guy has also the same problem: http://www.gossamer-
 threads.com/lists/varnish/misc/37386?page=last

 Thanks for help

 Best regards
 Kristina

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1826>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator



More information about the varnish-bugs mailing list