Can I extract the last IP address in X-Forwarded-For and assign it to a variable

Maxim Dounin mdounin at mdounin.ru
Sat Jan 23 16:55:44 MSK 2010


Hello!

On Sat, Jan 23, 2010 at 03:03:11AM -0800, Subramanyam Chitti wrote:

> Thanks a lot. This works perfectly. Is $1 always guaranteed to be the
> last IP in the X-Forwarded-For list?
> Is it the string that is matched in the $ position in the regular expression?

Yes.  $1 is a first unnamed capture from a last regular 
expression executed.

Maxim Dounin

> 
> On Fri, Jan 22, 2010 at 7:48 PM, Maxim Dounin <mdounin at mdounin.ru> wrote:
> > Hello!
> >
> > On Fri, Jan 22, 2010 at 08:46:02PM -0500, chittis wrote:
> >
> >> I want to get the last IP address in the X-Forwarded-For header
> >> and assign it to a variable. I'm doing this using embeded perl
> >> now. Is there a way I can do this using the map module and
> >> regular expressions?
> >
> > Map? Probably you mean rewrite? Try something like this:
> >
> >   set $x "";
> >   if ($http_x_forwarded_for ~ "(\d+\.\d+\.\d+\.\d+)$") {
> >       set $x $1;
> >   }
> >
> > Maxim Dounin
> >
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://nginx.org/mailman/listinfo/nginx
> >
> 
> 
> 
> -- 
> Subramanyam Chitti
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list