Page 1 of 2

Содержание REMOTE_ADDR

Posted: Fri Jan 06, 2017 5:59 pm
by Exit
Собственно столкнулся с проблемой, что переменная $_SERVER['REMOTE_ADDR'] содержит не адрес клиента, а адрес сервера. Быть так не должно. Как это исправить?
Ubuntu 14.04 vestacp 0.9.8 релиз 17

Re: Содержание REMOTE_ADDR

Posted: Fri Jan 06, 2017 9:42 pm
by Nanotraktor
Видимо, на сервере установлена связка apache+nginx?

Re: Содержание REMOTE_ADDR

Posted: Sat Jan 07, 2017 12:20 am
by Exit
Верно

Re: Содержание REMOTE_ADDR

Posted: Sat Jan 07, 2017 8:28 am
by youix
sudo nano /etc/apache2/mods-enabled/remoteip.conf
ДОБАВИТЬ В СОДЕРЖИМОЕ:
<IfModule remoteip_module>
RemoteIPHeader X-Real-IP
</IfModule>

sudo nano /etc/apache2/mods-enabled/remoteip.load
ДОБАВИТЬ В СОДЕРЖИМОЕ:
LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so


sudo nano /home/************/conf/web/nginx.conf

***********
***********
location / {
proxy_pass http://***.***.***.***:8080;
proxy_set_header Host $host; #ДОБАВИТЬ СТРОКУ ЕСЛИ НЕТ
proxy_set_header X-Real-IP $remote_addr; #ДОБАВИТЬ СТРОКУ ЕСЛИ НЕТ
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #ДОБАВИТЬ СТРОКУ ЕСЛИ НЕТ
***********
***********

Ну и перезапустить службы apache2 и nginx

Re: Содержание REMOTE_ADDR

Posted: Sun Jan 08, 2017 8:49 pm
by Exit
спасибо за помощь
оформил баг https://bugs.vestacp.com/issues/488

Re: Содержание REMOTE_ADDR

Posted: Sun Jan 08, 2017 9:32 pm
by one
А как Вы определили что отдается адрес сервера а не клиента?

Re: Содержание REMOTE_ADDR

Posted: Sun Jan 08, 2017 9:36 pm
by Exit
one wrote:А как Вы определили что отдается адрес сервера а не клиента?
это можно сделать с помощью скрипта:
remoteip.php

Code: Select all

<?
echo $_SERVER['REMOTE_ADDR'];
?>
тем временем переменная $_SERVER['HTTP_X_FORWARDED_FOR'] отдавала адрес клиента, но ей доверять нельзя. в эту переменную запросто можно подкинуть какой нибудь эксплойт

Re: Содержание REMOTE_ADDR

Posted: Mon Jan 09, 2017 9:05 am
by one
Попробовал у себя на двух серверах (v16 и v17) все в порядке, отдается IP клиента.

Re: Содержание REMOTE_ADDR

Posted: Mon Jan 09, 2017 9:24 am
by Exit
one wrote:Попробовал у себя на двух серверах (v16 и v17) все в порядке, отдается IP клиента.
Вы используете связку apache+nginx?

Re: Содержание REMOTE_ADDR

Posted: Mon Jan 09, 2017 9:30 am
by one
Да, на обоих серверах.