varnish multiple backends question about POST

Karagiannidis Yiannis gkaragiannidis at dolnet.gr
Tue Jul 24 18:02:16 CEST 2012


Hi!

 

I have setup one varnish server for multiple sites running on multiple
backends. 

 

For example:

 

Domains: domainA.com, domainB.com running on backend: backendC

Domains: domain0.com, domain1.com running on backend: backend-10 Everything
else goes to default backend DC

 

 

I also have the following setup

 

In sub vcl_recv {

 

if (req.http.host ~ " domainA.com$") {

        unset req.http.cookie;

        set req.backend = backendC;

        return (lookup);

        }

 

else if (req.http.host ~ "domainB.com$") {

        set req.backend = backendC;

        if ( req.request == "POST" ) {

                                return(pass);

                       }

        return (lookup);

        }

 

else if (req.http.host ~ "domain0.com$") {

        set req.backend = backend-10;

        if ( req.request == "POST" ) {

                                return(pass);

                       }

        return (lookup);

        }

 

 

else {

# Use the default backend for all other requests set req.backend = default;
return (lookup);

        }

 

        return (lookup);

}

 

My problem is that I have POST requests for both domainB.com and domain0.com
and each time I have to use set req.backend = if ( req.request == "POST" ) {

                                return(pass); in order to pass the request
to the correct backend Is there a simpler way of handling post requests to
different domains?

----------------------------------------------------------------------------
---------------------------------

And a second question if I use

if (req.request != "GET" && req.request != "HEAD") {

                // Not cacheable by default if NOT GET,HEAD

                return(pass);

        }

Then POST requests are passed to the default backend which, of course gives
me an 404 error!

 

Thanks in advance

Yiannis

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20120724/c87f8e1c/attachment.html>


More information about the varnish-misc mailing list