Форум web-мастеров phpBB3

Модификации и расширения phpBB


Ответить на тему
Пред. тема | След. тема 
Автор Сообщение
Admin
Аватара пользователя

Карма
29
Стаж: 6 лет 1 месяц
Сообщения: 320
Россия

Ответить с цитатой

Настраивал товарищу VDS, установил на сервер ppkbb3cker трекер, позже глянул а вся статистика в том числе боты показывают один и тот же IP адрес, это основной серверный IP, благо на форуме ppkbb3cker человек подсказал в чём проблема, опишу решение.

Предназначен: При работе связки nginx+apache, HTTP запросы сначала обрабатываются с помощью nginx, а потом передаются apache. В этом случае HTTP запрос происходит с IP адреса, на котором расположен nginx, а не с IP, с которого на самом деле пришёл запрос. Это создаёт определённые неудобства: в скриптах форумов/блогов/гостевых книг/etc IP пользователей, оставивших ответ на странице, указываются как IP сервера. mod_rpaf служит для того, чтобы восстановить настоящий IP после обработки запроса nginx'ом.


Как установить mod_rpaf: Всё делаем строго по пунктам.
1. Устанавливаем пакет httpd-devel:
yum -y install httpd-devel
2. Скачиваем и устанавливаем mod_rpaf:
cd /usr/local/src
wget http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
Обращаю ваше внимание все пакеты необзодимые для сборки данного модуля, должны быть одной и тоже версии что и сама система, т.е. либо это i386 или x64_86, иначе собрать не получится, будте внимательны
3. Далее нужно создать файл конфигурации mod_rpaf - /etc/httpd/conf.d/rpaf.conf
и добавить в него следующие строки:
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy
где xx.xx.xx.xx и yy.yy.yy.yy - IP адреса вашего сервера. Если на сервере более двух IP, добавьте их по той же аналогии.
Далее требуется перезапустить Apache, для этого выполните команду
service httpd restart
4. В nginx внутри блока http {} должны быть указаны строки:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
если модифицируется nginx.conf, следует перезапустить nginx:
/etc/init.d/nginx stop
/etc/init.d/nginx start
5. Как проверить, работает ли установленный модуль.
На любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:
<?
echo $_SERVER['REMOTE_ADDR'];
?>
Далее зайдите по ссылке http://domain.zone/test.php, где domain.zone - имя вашего домена. Если как результат отображается IP, отличающийся от IP вашего сервера, модуль работает корректно.
_______________________
Если нужен стиль для сайта, стучите: ICQ 560107181


Профиль  Отправить личное сообщение
Идеальный заработок для торрент-трекеров
Аватара пользователя

Карма
8
Стаж: 6 лет 1 месяц
Сообщения: 66
Откуда: Moscow
Россия

Ответить с цитатой

9CaraTT Как переехал к вам на сервер, перестал определяться внешний IP адрес юзеров, знаю что дело в Rpaf, но самостоятельно установить и настроить не получилось, прошу помочь.
_______________________
#522
Модификации phpbb


Профиль  Отправить личное сообщение
Admin
Аватара пользователя

Карма
29
Стаж: 6 лет 1 месяц
Сообщения: 320
Россия

Ответить с цитатой

Ничего устанавливать не нужно, centos 6 mod rpaf установлен, если снова что-то сломаешь на сервере, будешь сам нанимать специалистов, я уже устал за тобой, твой VDS восстанавливать. Там в конфиге нужно было прописать mod_rpaf.conf в секции IP адрес, сам всё сделал, проверил, всё работает.
<IfModule mod_rpaf.c>
  RPAF_Enable       On
  RPAF_ProxyIPs     127.0.0.1 00.00.00.00 (IP адрес)
  RPAF_Header       X-Forwarded-For
  RPAF_SetHostName  On
  RPAF_SetHTTPS     On
  RPAF_SetPort      On
</IfModule>
_______________________
Если нужен стиль для сайта, стучите: ICQ 560107181


Профиль  Отправить личное сообщение
Admin
Аватара пользователя

Карма
29
Стаж: 6 лет 1 месяц
Сообщения: 320
Россия

Ответить с цитатой

Вот ещё способ.
_______________________
Если нужен стиль для сайта, стучите: ICQ 560107181


Профиль  Отправить личное сообщение
Аватара пользователя

Карма
8
Стаж: 6 лет 1 месяц
Сообщения: 66
Откуда: Moscow
Россия

Ответить с цитатой

9CaraTT писал(а):
Вот ещё способ.
Я так ставил
rpm -ihv http://centos.alt.ru/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm

Теперь надо отключить этот репозиторий, чтобы система случаем чего лишнего не апнула
vi /etc/yum.repos.d/centalt.repo:

enabled=0

Теперь пакет:
yum -y --enablerepo=CentALT install mod_rpaf

Теперь конфигурируем: vi /etc/httpd/conf.d/00-rpaf.conf (вместо xx.xx.xx.xx вписываете айпи вашей машинки)
LoadModule rpaf_module /usr/lib/httpd/modules/mod_rpaf-2.0.so # 32 битные ОС
LoadModule rpaf_module /usr/lib64/httpd/modules/mod_rpaf-2.0.so # 64 битные ОС
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips xx.xx.xx.xx
RPAFheader X-Real-IP
/etc/init.d/httpd restart
Как проверить, работает ли установленный модуль, на любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:
<?PHP
echo $_SERVER['REMOTE_ADDR'];
?>
_______________________
#522
Модификации phpbb


Профиль  Отправить личное сообщение
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Ответить на тему

Сейчас этот форум просматривают: нет пользователей онлайн и гости: 1

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения