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
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
Да, на обоих серверах.