Backend definition in multiple VCL files in Varnish 5
Reza Naghibi
reza at varnish-software.com
Mon May 8 17:24:07 CEST 2017
Can you provide a varnishlog of the request where you get the backend
errors?
--
Reza Naghibi
Varnish Software
On Sat, May 6, 2017 at 3:45 PM, Nigel Peck <np.lists at sharphosting.uk> wrote:
>
> You might try Stack Overflow if you're not having any luck on this list.
> There are a few folks who answer Varnish questions on there. Just tag it
> "varnish" and "varnish-vcl".
>
> Nigel
>
> On 06/05/2017 14:40, Kurt Sultana wrote:
>
>> Ideas anyone? Any help is appreciated.
>>
>> Thanks
>>
>> On 4 May 2017 2:33 p.m., "Kurt Sultana" <kurtanatlus at gmail.com <mailto:
>> kurtanatlus at gmail.com>> wrote:
>>
>> Hi all,
>>
>> I'm a bit newish to Varnish though I do have some background. I have
>> a Varnish 5 instance connected to 2 backend servers (Magento 2
>> applications).
>>
>> I'm using the new Varnish 5 feature of loading multiple VCL files.
>> My ultimate problem is during purging however I'd like to ensure
>> things are set up correctly because documentation regarding multiple
>> VCL files in Varnish 5 is somewhat lacking.
>>
>> To keep things very simple for now, I'm going to use 1 backend
>> server in my example.
>>
>> So, I have a magento.vcl defined as follows:
>>
>> *vcl 4.0;*
>>
>> *import std;*
>> *
>> *
>> *# The minimal Varnish version is 4.0*
>> *# For SSL offloading, pass the following header in your proxy
>> server or load balancer: 'X-Forwarded-Proto: https'*
>> *
>> *
>> *backend default {*
>> * .host = "127.0.0.1";*
>> * .port = "8088";*
>> *}*
>> *
>> *
>> *include "/etc/varnish/common.vcl";*
>>
>> And a top.vcl
>>
>> *vcl 4.0;*
>> *
>> *
>> *import std;*
>> *
>> *
>> *backend default { .host = "127.0.0.1"; }*
>> *
>> *
>> *sub vcl_recv {*
>> * if (req.http.host == "magento2.dev") {*
>> * return (vcl(magento_vcl));*
>> * }*
>> *}*
>>
>> Then I run
>>
>> *service varnish restart*
>>
>> *varnishadm*
>>
>> *vcl.load magento /etc/varnish/conf.d/magento.vc <http://magento.vc
>> >l*
>>
>> *vcl.label magento_vcl magento*
>>
>> *vcl.load top /etc/varnish/top.vcl*
>>
>> *vcl.use top*
>>
>> *quit*
>>
>>
>> When I browse to magento2.dev, I get a backend fetch error after
>> some seconds. It's only when I go in magento.vcl and change the name
>> of the backend and make a backend hint that it works. See below:
>>
>> *vcl 4.0;*
>>
>> *import std;*
>> *
>> *
>> *# The minimal Varnish version is 4.0*
>> *# For SSL offloading, pass the following header in your proxy
>> server or load balancer: 'X-Forwarded-Proto: https'*
>> *
>> *
>> *backend magento {*
>> * .host = "127.0.0.1";*
>> * .port = "8088";*
>> *}*
>> *
>> *
>> *
>> sub vcl_recv {
>> set req.backend_hint = magento;
>> }
>> *
>> *
>> *
>> *include "/etc/varnish/common.vcl";*
>> *
>> *
>> Why should I be specifying a backend hint? Shouldn't Varnish be
>> loading a different VCL according to the host specified in top.vcl?
>> Or is there something wrong?
>>
>> Thanks in advance,
>> Kurt
>>
>>
>>
>>
>> _______________________________________________
>> varnish-misc mailing list
>> varnish-misc at varnish-cache.org
>> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>>
>>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20170508/5935f717/attachment-0001.html>
More information about the varnish-misc
mailing list