Is there a way to force exit vcl_recv?
Dridi Boukelmoune
dridi at varni.sh
Mon Sep 11 09:43:47 UTC 2017
On Mon, Sep 11, 2017 at 10:52 AM, Eyal Marantenboim
<eyal.marantenboim at storecast.de> wrote:
> Hi,
>
> We are trying to have varnish respond to all OPTIONS method requests. These
> requests should not go to any backend. They should return the CORS headers
> with an empty body, always (cors headers are added in vcl_deliver).
>
> Our problem is that, because of the logic that follows in the config,
> Varnish still ends up picking a backend and adding body, etc.
>
> I would like to avoid adding everywhere 'if req.method != OPTIONS'..
>
> Is there a way in vcl_recv to do something like this:
>
> if (req.method ~ "(OPTIONS)"){
> // dont pick backend, finish vcl_recv processing and jump directly to
> vcl_deliver
> }
>
> ?
>
> Thanks!
Hi,
You are looking for synthetic responses:
sub vcl_recv {
if (req.method == "OPTIONS") {
return (synth(200));
}
}
sub vcl_synth {
if (req.method == "OPTIONS") {
# set the CORS response headers
return (deliver);
}
}
Dridi
More information about the varnish-misc
mailing list