Mailing List Archive

Setting a region cookie
We’re trying to get a varnish setup running that sets a regional cookie. I’m having some troubles getting it to work, so any advice will be appreciated.

We’re running Drupal 8 and Varnish 4.1.5 with the geoip2 vmod. IP Geolocation is working fine, and our X-GeoIP headers are being set correctly. What I would like to do is have varnish set a "country” cookie when requests to our home page come in. I’ve got it manipulating the req.http.Cookie header, but it does not seem to be actually setting a cookie in the browser. Any suggestions?

--
Mike Alberghini
Software Developer, Habitat for Humanity International
270 Peachtree Street NW, Suite 1300, Atlanta, GA 30303
office phone: (404) 420-6751
malberghini@habitat.org<mailto:malberghini@habitat.org> · habitat.org<http://www.habitat.org/> | Habitat. We build.
Re: Setting a region cookie [ In reply to ]
You're setting it in the wrong place/way. To set a cookie in the
browser you must set it in the response sent to the browser inside of
say vcl_deliver. There's no variables so if you need to propogate
data from e/g vcl_recv you can set an "internal" header on the
req....see say https://www.fastly.com/blog/vcl-cookie-monster for an
example.

On Wed, Mar 8, 2017 at 1:38 PM, Mike Alberghini <MAlberghini@habitat.org> wrote:
> We’re trying to get a varnish setup running that sets a regional cookie.
> I’m having some troubles getting it to work, so any advice will be
> appreciated.
>
> We’re running Drupal 8 and Varnish 4.1.5 with the geoip2 vmod. IP
> Geolocation is working fine, and our X-GeoIP headers are being set
> correctly. What I would like to do is have varnish set a "country” cookie
> when requests to our home page come in. I’ve got it manipulating the
> req.http.Cookie header, but it does not seem to be actually setting a cookie
> in the browser. Any suggestions?
>
> --
>
> Mike Alberghini
>
> Software Developer, Habitat for Humanity International
>
> 270 Peachtree Street NW, Suite 1300, Atlanta, GA 30303
>
> office phone: (404) 420-6751
>
> malberghini@habitat.org · habitat.org | Habitat. We build.
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc@varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc



--

"Genius might be described as a supreme capacity for getting its possessors
into trouble of all kinds."
-- Samuel Butler

_______________________________________________
varnish-misc mailing list
varnish-misc@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
Re: Setting a region cookie [ In reply to ]
Hi,

Be careful the method in the link given by Michael doesn't work.
To set a cookie, you must use the vmod header.

And in the subroutines *vcl_deliver* you must add sotmehting like this
(just change the name of the cookie and the value)

header.append(resp.http.Set-Cookie,
> "VarnishCache="+resp.http.X-Cache+"path:/");



Because using the set resp.http.Set-Cookie = overwrite all Cookie written
by the backend.


I just implement this method in my website to get Analytics stats of my
Varnish


*Nicolas Delmas*
http://tutoandco.colas-delmas.fr/ <colas.delmas@gmail.com>







2017-03-08 23:13 GMT+01:00 Michael Loftis <mloftis@wgops.com>:

> You're setting it in the wrong place/way. To set a cookie in the
> browser you must set it in the response sent to the browser inside of
> say vcl_deliver. There's no variables so if you need to propogate
> data from e/g vcl_recv you can set an "internal" header on the
> req....see say https://www.fastly.com/blog/vcl-cookie-monster for an
> example.
>
> On Wed, Mar 8, 2017 at 1:38 PM, Mike Alberghini <MAlberghini@habitat.org>
> wrote:
> > We’re trying to get a varnish setup running that sets a regional cookie.
> > I’m having some troubles getting it to work, so any advice will be
> > appreciated.
> >
> > We’re running Drupal 8 and Varnish 4.1.5 with the geoip2 vmod. IP
> > Geolocation is working fine, and our X-GeoIP headers are being set
> > correctly. What I would like to do is have varnish set a "country”
> cookie
> > when requests to our home page come in. I’ve got it manipulating the
> > req.http.Cookie header, but it does not seem to be actually setting a
> cookie
> > in the browser. Any suggestions?
> >
> > --
> >
> > Mike Alberghini
> >
> > Software Developer, Habitat for Humanity International
> >
> > 270 Peachtree Street NW, Suite 1300, Atlanta, GA 30303
> >
> > office phone: (404) 420-6751
> >
> > malberghini@habitat.org · habitat.org | Habitat. We build.
> >
> >
> > _______________________________________________
> > varnish-misc mailing list
> > varnish-misc@varnish-cache.org
> > https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
>
>
> --
>
> "Genius might be described as a supreme capacity for getting its possessors
> into trouble of all kinds."
> -- Samuel Butler
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc@varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
Re: Setting a region cookie [ In reply to ]
So by copying the cloudflare/google analytics cookies for example to a
custom header before stripping them for a possible cache hit, we can later
add it back to the client response cookies? Is it even worth bothering for?
I strip all cloudflare/google analytics cookies and haven't had any
complaints yet. Just wondering what the use case might be.

On Thu, Mar 9, 2017 at 5:40 AM, Nicolas Delmas <colas.delmas@gmail.com>
wrote:

> Hi,
>
> Be careful the method in the link given by Michael doesn't work.
> To set a cookie, you must use the vmod header.
>
> And in the subroutines *vcl_deliver* you must add sotmehting like this
> (just change the name of the cookie and the value)
>
> header.append(resp.http.Set-Cookie, "VarnishCache="+resp.http.X-
>> Cache+"path:/");
>
>
>
> Because using the set resp.http.Set-Cookie = overwrite all Cookie written
> by the backend.
>
>
> I just implement this method in my website to get Analytics stats of my
> Varnish
>
>
> *Nicolas Delmas*
> http://tutoandco.colas-delmas.fr/ <colas.delmas@gmail.com>
>
>
>
>
>
>
>
> 2017-03-08 23:13 GMT+01:00 Michael Loftis <mloftis@wgops.com>:
>
>> You're setting it in the wrong place/way. To set a cookie in the
>> browser you must set it in the response sent to the browser inside of
>> say vcl_deliver. There's no variables so if you need to propogate
>> data from e/g vcl_recv you can set an "internal" header on the
>> req....see say https://www.fastly.com/blog/vcl-cookie-monster for an
>> example.
>>
>> On Wed, Mar 8, 2017 at 1:38 PM, Mike Alberghini <MAlberghini@habitat.org>
>> wrote:
>> > We’re trying to get a varnish setup running that sets a regional cookie.
>> > I’m having some troubles getting it to work, so any advice will be
>> > appreciated.
>> >
>> > We’re running Drupal 8 and Varnish 4.1.5 with the geoip2 vmod. IP
>> > Geolocation is working fine, and our X-GeoIP headers are being set
>> > correctly. What I would like to do is have varnish set a "country”
>> cookie
>> > when requests to our home page come in. I’ve got it manipulating the
>> > req.http.Cookie header, but it does not seem to be actually setting a
>> cookie
>> > in the browser. Any suggestions?
>> >
>> > --
>> >
>> > Mike Alberghini
>> >
>> > Software Developer, Habitat for Humanity International
>> >
>> > 270 Peachtree Street NW, Suite 1300, Atlanta, GA 30303
>> >
>> > office phone: (404) 420-6751
>> >
>> > malberghini@habitat.org · habitat.org | Habitat. We build.
>> >
>> >
>> > _______________________________________________
>> > varnish-misc mailing list
>> > varnish-misc@varnish-cache.org
>> > https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>>
>>
>>
>> --
>>
>> "Genius might be described as a supreme capacity for getting its
>> possessors
>> into trouble of all kinds."
>> -- Samuel Butler
>>
>> _______________________________________________
>> varnish-misc mailing list
>> varnish-misc@varnish-cache.org
>> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc@varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>