getting remot4e address

Igor Sysoev is at rambler-co.ru
Wed Feb 27 00:00:34 MSK 2008


On Tue, Feb 26, 2008 at 12:52:56PM -0800, rkmr.em at gmail.com wrote:

> On Tue, Feb 26, 2008 at 12:08 PM, Igor Sysoev <is at rambler-co.ru> wrote:
> > On Tue, Feb 26, 2008 at 11:58:16AM -0800, rkmr.em at gmail.com wrote:
> >
> >  > x-forwarded-for enabled in the haproxy configuration.
> >  > How do I configure nginx so that my fastcgi backends get this IP
> >  > address as the remote ip address and not the ip address of the
> >      location / {
> >           set  $addr  $remote_addr;
> >
> >           if ($http_x_forwarded_for ~ "(^|,)\s*(\d+\.\d+\.\d+\.\d+)\s$") {
> >                set  $addr  $1;
> >           }
> >
> >           ...
> >           fastcgi_param  REMOTE_ADDR   $addr;
> 
> hi igor,
> thanks for your reply.
> i tried what you gave, and i still get only the ip address of the
> haproxy in my backends,
> how to fix?
> thanks
> 
> this my config..
>         location / {
>             root   /home/mark/work/pop;
>             fastcgi_pass backend_pop;
>             include /home/mark/work/infrastructure/nginx_fastcgi.conf;
>         }
> 
> file nginx_fastcgi.conf;
>          set  $addr  $remote_addr;
> 
>          if ($http_x_forwarded_for ~ "(^|,)\s*(\d+\.\d+\.\d+\.\d+)\s$") {

My mistake:

-          if ($http_x_forwarded_for ~ "(^|,)\s*(\d+\.\d+\.\d+\.\d+)\s$") {
+          if ($http_x_forwarded_for ~ "(^|,)\s*(\d+\.\d+\.\d+\.\d+)\s*$") {

>               set  $addr  $1;
>          }
> 
>             fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
>             fastcgi_param PATH_INFO       $fastcgi_script_name;
>             fastcgi_param QUERY_STRING    $query_string;
>             fastcgi_param CONTENT_TYPE    $content_type;
>             fastcgi_param CONTENT_LENGTH  $content_length;
>             fastcgi_param REQUEST_METHOD  $request_method;
>             #fastcgi_param REMOTE_ADDR     $remote_addr;
>             fastcgi_param REMOTE_ADDR     $addr;
>             fastcgi_param REMOTE_PORT     $remote_port;
>             fastcgi_param SERVER_PROTOCOL $server_protocol;
>             fastcgi_param SERVER_ADDR     $server_addr;
>             fastcgi_param SERVER_PORT     $server_port;
>             fastcgi_param SERVER_NAME     $server_name;
> 

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list