[Varnish] #1741: All request methods are changed to GET on cache miss
Varnish
varnish-bugs at varnish-cache.org
Tue May 26 21:56:08 CEST 2015
#1741: All request methods are changed to GET on cache miss
----------------------+--------------------
Reporter: askalski | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: 4.0.3 | Severity: normal
Keywords: |
----------------------+--------------------
In commit 2581a69bcdec44e00a6fafb93ca21b6f31d20aef the HEAD->GET logic was
moved from vcl_recv{} to vcl_miss{}.
As of that commit, all request methods (previously only HEAD) get
converted to GET in the backend request. Although the builtin vcl_recv
returns "pass" for non-GET/HEAD, a user might trip over this behavior if
he tries to return "hash" instead.
For example, a user might want varnish to cache the preflight OPTIONS
request when implementing CORS. This is currently not possible because it
is changed to GET on the backend request.
Another problem is the behavior is confusing to troubleshoot. A user
might wonder why his PUT/POST/DELETE requests are being changed to GET,
and not realize it was because of a "return(hash)" in his VCL. For an
example, see this thread: https://www.varnish-cache.org/forum/topic/235
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1741>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list