#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@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@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
_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
--------------------------+--------------------
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@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@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
_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs