server.ip for "undoing" namevirtualhosts issues

Chris Hecker checker at
Mon Jul 12 10:45:59 CEST 2010

Okay, I'm trying this and it works.  I realized I don't have any 
NameVirtualHost sites going through varnish right now, so I just stomp 
the req.http.Host with the correct site name at the top, and that let me 
remove all the www. stripping from the vcl_recv.  I did notice that 
Host: is set by browsers even on numerical ips (due to HTTP/1.1 I 
guess), so I think the right if is something like:

if(! ||
    ( ~ "^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$"))

but I haven't tried that yet, since I realized I don't need it yet. 
Does that look right?


On 2010/07/12 00:46, Poul-Henning Kamp wrote:
> In message<4C3AAFE7.3010306 at>, Chris Hecker writes:
>> Can I use server.ip in vcl_recv to force the host to the right site if
>> there's no host record?  What would the code look like to do this?
>> Something like:
>> if(! {
>> 	if(server.ip == "a.b.c.d") {
>> 		set = "";
>> 	} elsif(server.ip == "a.b.c.e") {
>> ...etc
> Yes, that is server.ip was intended to be used.
> If that does not work, it is a bug.

More information about the varnish-misc mailing list