# Problem in $remote\_addr when proxying

**URL:** <https://www.ruby-forum.com/t/problem-in-remote-addr-when-proxying/168231>\
**Category:** NGINX\
**Created:** [May 18, 2009, 4:14pm UTC](https://www.ruby-forum.com/t/problem-in-remote-addr-when-proxying/168231 "2009-05-18T16:14:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tyler\_Durden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eada6e/32.png) [@Tyler\_Durden](https://www.ruby-forum.com/u/Tyler_Durden)\
**Post date:** [May 18, 2009, 4:14pm UTC](https://www.ruby-forum.com/t/problem-in-remote-addr-when-proxying/168231/1 "2009-05-18T16:14:04Z")

</div>

Hi,  
I have nginx as frontend for serving static files and a proxy to  
apache for dinamic request.  
The problem is on the $remote\_addr that arrive to apache as 127.0.0.1

In my virtualhost:

upstream my\_webcluster {  
server 127.0.0.1:8080;  
}

server {  
…  
location / {  
proxy\_pass http://my\_webcluster;  
include /etc/nginx/proxy.conf;  
}  
…  
}

in /etc/nginx/proxy.conf:

proxy\_redirect off;  
proxy\_set\_header Host $http\_host;  
proxy\_set\_header X-Real-IP $remote\_addr;  
proxy\_set\_header X-Forwarded-For  
$proxy\_add\_x\_forwarded\_for;  
client\_max\_body\_size 10m;  
client\_body\_buffer\_size 128k;  
proxy\_connect\_timeout 90;  
proxy\_send\_timeout 90;  
proxy\_read\_timeout 90;  
proxy\_buffer\_size 4k;  
proxy\_buffers 4 32k;  
proxy\_busy\_buffers\_size 64k;  
proxy\_temp\_file\_write\_size 64k;

What I’m doing wrong here?

Thanks in advance,  
Tyler

---

<div class="post-metadata">

**Author:** ![Tyler\_Durden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eada6e/32.png) [@Tyler\_Durden](https://www.ruby-forum.com/u/Tyler_Durden)\
**Post date:** [May 20, 2009, 2:21pm UTC](https://www.ruby-forum.com/t/problem-in-remote-addr-when-proxying/168231/2 "2009-05-20T14:21:36Z")

</div>

On Mon, May 18, 2009 at 03:06:00PM +0100, Tyler Durden wrote:

> in /etc/nginx/proxy.conf:  
> proxy\_read\_timeout 90;  
> proxy\_buffer\_size 4k;  
> proxy\_buffers 4 32k;  
> proxy\_busy\_buffers\_size 64k;  
> proxy\_temp\_file\_write\_size 64k;
> 
> What I’m doing wrong here?

You need to install mod\_rpaf on Apache side:  
[http://stderr.net/apache/rpaf/](http://stderr.net/apache/rpaf/)

---

<div class="post-metadata">

**Author:** ![Tyler\_Durden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eada6e/32.png) [@Tyler\_Durden](https://www.ruby-forum.com/u/Tyler_Durden)\
**Post date:** [June 12, 2009, 1:29pm UTC](https://www.ruby-forum.com/t/problem-in-remote-addr-when-proxying/168231/3 "2009-06-12T13:29:40Z")

</div>

hello there, I’m having similar(more newbie) problem with simple php,  
it gives local fcgi address in return instead of user agent’s, where to  
look?  
cheers

---

<div class="post-metadata">

**Author:** ![Tyler\_Durden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eada6e/32.png) [@Tyler\_Durden](https://www.ruby-forum.com/u/Tyler_Durden)\
**Post date:** [June 12, 2009, 1:44pm UTC](https://www.ruby-forum.com/t/problem-in-remote-addr-when-proxying/168231/4 "2009-06-12T13:44:55Z")

</div>

sorry, pasting:

server {  
listen 10.0.0.100;  
server\_name .php.local;

location / {  
if ($request\_method = POST) {  
proxy\_pass [http://127.0.0.1:8001](http://127.0.0.1:8001);  
}  
set $memcached\_key “phpLocal:$uri”;  
memcached\_pass 127.0.0.1:11211;  
default\_type “text/html”;  
error\_page 404 502 @fallback;  
}

location @fallback {  
proxy\_pass [http://127.0.0.1:8001](http://127.0.0.1:8001);  
}

location ~\*  
^.+.(flv|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$  
{  
root /usr/share/nginx/php.local;  
expires 39d;  
break;  
}  
}

server {  
listen 127.0.0.1:8001;  
server\_name .php.local;

root /usr/share/nginx/php.local;  
index index.htm index.php;  
autoindex on;

location ~ .php$ {  
fastcgi\_pass 127.0.0.1:9000;  
fastcgi\_index index.php;  
fastcgi\_param SCRIPT\_FILENAME  
/usr/share/nginx/php.local$fastcgi\_script\_name;  
include fastcgi\_params;  
}  
}
