1

I just started reading about Varnish and am considering using it as a frontend to my webservers. I have multiple domains on my webserver that fetch the same content when the same query strings are used. So lets say one client visits:

http://domain1.com/script.php?string1=abc&string2=123 

And later on, someone else visits:

http://domain2.com/script.php?string1=abc&string2=123 

Would Varnish cache the results from the first visit and use that for the second client? Thanks!

EDIT: After some more reading, it sounds like the following may work:

sub vcl_hash { set req.hash += req.url; return (hash); } 

So instead of added the http.host variable to the hash, it ignores it.

2 Answers 2

3

You can configure it to do so, sort-of. By default, it won't (and shouldn't).

From Varnish FAQ/HowDoI

I have a site with many hostnames, how do I keep them from multiplying the cache?

You can do this by normalizing the "Host" header for all your hostnames. Here's a VCL example:

if (req.http.host ~ "^(www.)?example.com") { set req.http.host = "example.com"; }

3
  • That or it's probably possible to strip the hostname entirely and just use the remainder of the path. YMMV. Commented Jul 17, 2009 at 11:11
  • Hmm, I added some code above that may work. If anyone can confirm, that'd be great! Commented Jul 17, 2009 at 18:06
  • I don't think (or don't hope) that Lin is asking about how to share the cache. The problem is that sharing the same data across urls on different sites could be a security/integrity issue. example.com/bobs_friends is NOT the same as example2.com/bobs_friends. Serving one when the other is asked for could be disastrous. Commented Jan 24, 2010 at 15:58
0

I have 3 domains on my VM, I am using Nginx and Varnish, currently I am on a pre prod configuration, here what I am doing :

NGINX:80 ==> VARNISH:8080 ==> NGINX:8081 

I am using Nginx:80 like a proxy IF the domain needs Varnish, if not, I use FastCGI stuff. In this exemple, the not Varnish sites are not concerned by Varnish. It looks stupid but it woks ;-) and none of my customers complain (yet....).

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.