Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2  (Прочитано 13906 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн w21life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #15 : 04 Февраля 2015, 00:10:35 »
Проблема та же, с $_SERVER['REMOTE_ADDR'] nginx + apache2
Выводится локальный адрес сервера, вместо адреса посетителя.

apache2ctl -M
Код: (html5) [Выделить]
Loaded Modules:
....
rpaf_module (shared)
....
Syntax OK

В конфиге rpaf.conf прописано:
Код: (html5) [Выделить]
LoadModule rpaf_module /modules/mod_rpaf.so
<IfModule rpaf_module>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 192.168.1.43
</IfModule>

« Последнее редактирование: 04 Февраля 2015, 01:26:25 от w21life »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #16 : 04 Февраля 2015, 00:20:07 »
Апач, замечательно. А nginx кто настраивать будет?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн w21life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #17 : 04 Февраля 2015, 00:22:22 »
Апач, замечательно. А nginx кто настраивать будет?

nginx.conf:
Код: (html5) [Выделить]
# Proxy settings
    proxy_redirect      off;
    proxy_set_header    Host            $host;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass_header   Set-Cookie;
    proxy_connect_timeout   90;
    proxy_send_timeout  90;
    proxy_read_timeout  90;
    proxy_buffers       32 4k;

В логах Nginx присутствуют реальные адреса посетителей, а посредством $_SERVER['REMOTE_ADDR'] выводится локальный адрес сервера.
« Последнее редактирование: 04 Февраля 2015, 00:47:34 от w21life »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #18 : 04 Февраля 2015, 00:46:12 »
А почему вы сразу лезете в PHP?
Проверяйте, что передаётся Апачу, для начала.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн w21life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #19 : 04 Февраля 2015, 00:47:40 »
А почему вы сразу лезете в PHP?
Проверяйте, что передаётся Апачу, для начала.

Цитировать
Как ни крути, а адрес не преобразовывает.

Причем в phpinfo - секция Apache Environment

HTTP_X_REAL_IP и HTTP_X_FORWARDED_FOR определяются верно, nginx тоже верно определяет адрес,
но в REMOTE_ADDR проставляется адрес сервера - 192.168.1.43

В модуле mod_rpaf пробовали менять хидеры для отлова с x-real-ip на x-forwarder-for - не помогает.

-----
Ubuntu 14.04 LTS Server x64

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #20 : 04 Февраля 2015, 00:51:10 »
w21life, при чём тут чужие цитаты четырёхлетней давности?
Показывайте, что У ВАС происходит.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн w21life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #21 : 04 Февраля 2015, 00:52:58 »
w21life, при чём тут чужие цитаты четырёхлетней давности?
Показывайте, что У ВАС происходит.
Цитата сегодняшняя, после совместных усилий с товарищем..

Подскажите, что именно показать?

В логах Apache и Nginx - реальные адреса посетителей. Проверил.
Модуль rpaf работает, а посредством $_SERVER['REMOTE_ADDR'] выводится локальный адрес сервера.
« Последнее редактирование: 04 Февраля 2015, 01:26:09 от w21life »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #22 : 04 Февраля 2015, 01:29:41 »
egrep -i "x.forwarded.for|x.real.ip" -R /etc/apache2для начала.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн w21life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #23 : 04 Февраля 2015, 01:33:12 »
egrep -i "x.forwarded.for|x.real.ip" -R /etc/apache2для начала.

root@serv:/home/w21life# egrep -i "x.forwarded.for|x.real.ip" -R /etc/apache2
/etc/apache2/mods-available/rpaf.conf:    # the correct X-Forwarded-For headers:
/etc/apache2/mods-available/rpaf.conf:    # X-Forwarded-For to something of your        choice:
/etc/apache2/mods-available/rpaf.conf:    # RPAFheader X-Real-IP
/etc/apache2/mods-available/rpaf.conf:    # RPAFheader X-Forwarded-For
/etc/apache2/mods-enabled/rpaf.conf:    # the correct X-Forwarded-For headers:
/etc/apache2/mods-enabled/rpaf.conf:    # X-Forwarded-For to something of your          choice:
/etc/apache2/mods-enabled/rpaf.conf:    # RPAFheader X-Real-IP
/etc/apache2/mods-enabled/rpaf.conf:    # RPAFheader X-Forwarded-For
« Последнее редактирование: 04 Февраля 2015, 09:35:33 от w21life »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #24 : 04 Февраля 2015, 02:05:43 »
Остальная настройка nginx где? На какой адрес-порт он коннектится к апачу?

P.S.
И почему вы мне врёте?
В вашем первом посте ни слова не было о RPAFheader.
« Последнее редактирование: 04 Февраля 2015, 02:07:22 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн w21life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #25 : 04 Февраля 2015, 08:55:55 »
Остальная настройка nginx где? На какой адрес-порт он коннектится к апачу?

P.S.
И почему вы мне врёте?
В вашем первом посте ни слова не было о RPAFheader.
Это я варианты конфига rpaf перебирал.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #26 : 04 Февраля 2015, 09:13:39 »
Ну и как вы хотите, чтобы я за вас искал ошибки, если условия задачи меняются от поста к посту?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн w21life

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #27 : 04 Февраля 2015, 09:35:07 »
Ну и как вы хотите, чтобы я за вас искал ошибки, если условия задачи меняются от поста к посту?…
Совместными усилиями мы выяснили, что у меня в Ubuntu 14.04 rpaf_module для apache2 не работает.

Поэтому, было принято решение подключить модуль remoteip_module:

#Отключаем модуль rpaf
a2dismod rpaf

#Подключаем модуль remoteip
a2enmod remoteip

#Создаем файл конфигурации модуля remoteip
nano /etc/apache2/conf-available/remoteip.conf

<IfModule rpaf_module>
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1  ip_сервера
</IfModule>

#Применяем конфиг
a2enconf remoteip

#Создаем симлинк
a2enmod remoteip

#Перезапускаем Apache
service apache2 restart

И все. Проблема решена!
« Последнее редактирование: 04 Февраля 2015, 09:57:01 от w21life »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проблема с $_SERVER['REMOTE_ADDR'] nginx + apache2
« Ответ #28 : 04 Февраля 2015, 10:00:04 »
>.<
Так С ЭТОГО НАДО НАЧИНАТЬ!
Первой строчкой - версии операционной системы и программ в вопросе!
В Apace 2.4 mod_remoteip идёт стандартом.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.062 секунд. Запросов: 25.