GeoIP Detection and Country Specific Content

Guillaume Quintard guillaume.quintard at smartjog.com
Thu Jan 29 17:46:14 CET 2015


On 01/29/2015 04:35 PM, Max Clark wrote:
> Hello,
>
> We have been working to enable region specific content for our web
> site. The basic mechanism is already in place, specifically:
>
> When a user visits the site and a cookie is not present the
> application server will compare their IP address with the GeoIP
> database. Based on the result the application server will generate the
> proper content for the user (different logo images, text, etc...) and
> return this with a cookie specifying the edition for future requests
> bypassing the GeoIP lookup. The cookie will also allow the user to
> select a different region than what their IP resolves to.
>
> Again this is working in the application, and Varnish was extended to
> match on the cookie value (named "edition") and to use the edition
> value as part of the hash data so there is a unique cache for the
> different regions.
>
> Here's the problem:
>
> When a user visits the site for the first time they do not have a
> cookie in the request. So Varnish has a blank value for the edition as
> part of the hash data. However this request when it hits the
> application server does resolve to a specific edition and return the
> region content on the reply. This is being cached by Varnish and used
> for future requests by new users with no cookie.
>
> Put simply, if the page is not in cache, and a browser from the
> UK does not have the edition cookie a page with UK content is
> generated and cached in Varnish. If a browser from the US goes to the
> same page, Varnish will serve the US user the UK cached page because
> this is what was cached based on the hash data.
>
> Without turning off caching for cookieless requests - how do we
> resolve this?
>

I may not have understood exactly what you need, but can't you hash the
country code instead of the cookie ?

-- 
Guillaume Quintard

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


More information about the varnish-misc mailing list