Здравствуйет,
знаю, что данная тема поднималась не раз, гуглю уже 2 дня, но пока безрезультатно, проблема в том, что не возвращается реальный ip. Выкладываю конфиги и надеюсь, что если не тыкнут носом - то хотя бы натолкнут на мысль.
Это в конфигурации хостаlocation / {
include /etc/nginx/conf.d/proxy.conf;
proxy_pass http://127.0.0.1:8080/;
}
Это proxy.conf
proxy_set_header Host $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;
Это rpaf.conf<IfModule rpaf_module>
RPAFenable On
# When enabled, take the incoming X-Host header and
# update the virtualhost settings accordingly:
RPAFsethostname On
# Define which IP's are your frontend proxies that sends
# the correct X-Forwarded-For headers:
# RPAFproxy_ips 127.0.0.1 ::1
RPAFproxy_ips 127.0.0.1 realIP
# Change the header name to parse from the default
# X-Forwarded-For to something of your choice:
RPAFheader X-Real-IP
</IfModule>
apache2ctl -MLoaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php5_module (shared)
rewrite_module (shared)
rpaf_module (shared)
setenvif_module (shared)
status_module (shared)
закидывал в index.php такое:<?php
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
echo "CIKL";
echo $ip;
echo "cli_ip";
echo $_SERVER['HTTP_CLIENT_IP'];
echo "forward";
echo $_SERVER['HTTP_X_FORWARDED_FOR'];
echo "remote";
echo $_SERVER['REMOTE_ADDR'];
?>
В итоге получил везде реальный ip, кроме как в $_SERVER['REMOTE_ADDR'] - там выдало 127.0.0.1, а в $_SERVER['REMOTE_ADDR'] - вообще пусто
Замучался я, и понять не могу, где и что не так. Все мануалы которые попадаются - шаблонные, кто-то настроил, а остальные copypaste себе в блог...
Пользователь решил продолжить мысль 28 Ноября 2013, 13:04:04:
Забыл написать nginx 1.4.1, Apache 2.4.6
Пользователь решил продолжить мысль 28 Ноября 2013, 13:20:31:
Ну неужели никто помочь не может?

В логах, адрем пишется правильный, а REMOTE_ADDR выводит неправильно!
Пользователь решил продолжить мысль 28 Ноября 2013, 17:18:20:
Кароч rpaf гавно, надо переходить на remoteip, хоть какая то поддержка есть, в отличии от этого говна мамонта)