How to change cookie header in a filter?

Cool coolbsd at hotmail.com
Mon Mar 18 23:24:05 UTC 2013


Hi,

What's the right way to change incoming cookie header so that upstream
can get it just like it's from user's original request header? For
example, user's browser sends:

Cookie: PHPSESSID=34406134e25e5e07727f5de6d5ff7aa3; __utmc=78548747

and I want it to be:

Cookie: PHPSESSID=34406134e25e5e07727f5de6d5ff7aa3; __utmc=78548747;
mycookie=something

when upstream processes the request.

I'm trying to migrate an Apache HTTPd module to nginx, it's more or less
like mod_usertrack
(http://httpd.apache.org/docs/2.2/mod/mod_usertrack.html) but I need to
implement my own logic to enforce compatibility among Apache, Nginx,
IIS, and Jetty.

The question is, for the first time visitor, the incoming request does
not have mycookie in the header, I can determine this and generate
cookie and Set-Cookie in response, however, I also need to change
incoming cookie header so that upstream (php-fpm now, but should be same
to all other upstreams as I'm guessing) can get this generated
"mycookie" as well.

I tried to add new entry to r->headers_in.cookies but it does not work,
also tried r->headers_in.headers but no luck either.

Thanks,

-C
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130318/e1248af6/attachment.html>


More information about the nginx mailing list