regex matching on a cookie

Harish Sundararaj tuxtoti at gmail.com
Mon Sep 3 15:34:25 UTC 2012


Hello,

I have a URI like this:

example.com/cnvpb/$IntegerA/$TermA

eg:
example.com/cnvpb/1233/Q4

For this request , I might get cookies with names like

abc_cnv1, abc_cnv2, abc_cnv3....abc_cnv5

all or some of them. The value of these cookies are of the format:

$integerB#$TermB#$integerC#$TermC

Eg:
1234#blahblah#45#Q1

Now this is the requirement:

If for any of the cookies in abc_cnv[1-5], $integerA equals $intergerB
choose an upstream based on $TermC.

I have figured out few of things:

1) Parsing $integerA - Using a regex in the location block
2) Choosing an upstream based on $TermC - using a map block

However, I'm stuck at reading cookies (not sure how to read only :
abc_cnv[1-5]). I understand it can be done using multiple ifs .
But I'm sure there should be a better way than that.

Any pointers?

Thanks
Harish



More information about the nginx mailing list