Serving Backends

Davies Matt J A (LCSS) mjdavies at glam.ac.uk
Fri Oct 1 16:56:25 CEST 2010


Thanks Michael

I'll do just that

Matt


On 1 Oct 2010, at 15:36, Michael Alger wrote:

> On Fri, Oct 01, 2010 at 02:22:37PM +0000, Davies Matt J A (LCSS) wrote:
>> 
>> I've defined a backend that is my application server,
>> 
>> backend a {
>>  .host = "application_server_fqdn";
>>  .port = "80";
>> }
>> 
>> and then defined some further code to serve that backend from my
>> varnish server
>> 
>> sub vcl_recv {
>> 
>> if (req.http.host == "www.a.com") {
>>        set req.backend = a;
>>    }
>> 
>> }
>> 
>> What I'm finding is that if I make up anything in my /etc/hosts
>> file to point at the varnish servers IP address, it will serve the
>> site.  Even the IP address of the varnish server serves the
>> application.
>> 
>> I don't want that to happen.
> 
> Varnish will use the first backend defined as the default, i.e.
> req.backend is always set to something even if you don't set it
> yourself. Not sure if it's actually just the first backend defined
> or some other criteria; but the point is there's always a backend
> for it to use even if you don't specify it explicitly.
> 
> If you really want to only serve if the hostname in the request
> header is recognised, you'll have to tell Varnish to display an
> error, or change the request so it will go to a backend that
> displays an error page, or something similar.
> 
> i.e.
> 
> if (req.http.host == "www.a.com") {
>  set req.backend = a;
> }
> else {
>  error 404 "Not found";
> }
> 
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> http://lists.varnish-cache.org/mailman/listinfo/varnish-misc





More information about the varnish-misc mailing list