Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

сети:nginx_apache_mod_rpaf_ispmanager [2011/07/18 11:51]
сети:nginx_apache_mod_rpaf_ispmanager [2011/07/18 11:51] (текущий)
Строка 1: Строка 1:
 +====== nginx apache mod_rpaf ispmanager ======
 +Применимость:​ "​Linux,​ Centos, ISPmanager"​
 +
 +Слова для поиска:​ реальный IP адрес, real ip
 +
 +----
 +===== Задача:​ =====
 +
 +<note important>​При работе вебсервера в режиме nginx + apache, HTTP запросы сначала обрабатываются с помощью nginx, а потом передаются apache.</​note> ​
 +
 +HTTP запрос на apache происходит с IP адреса,​ на котором расположен nginx.
 +mod_rpaf служит для ​ восстановления настоящего (реального) IP для приложений которые выполняются на apache.
 +
 +===== Решение:​ =====
 +
 +Устанавливаем репозиторий ALTLinux для Centos:
 +
 +  rpm -ihv http://​centos.alt.ru/​repository/​centos/​5/​x86_64/​centalt-release-5-3.noarch.rpm
 +
 +Если у вас версия системы 32 бита, то ваш репозиторий другой:​
 +  rpm -ihv http://​centos.alt.ru/​repository/​centos/​5/​i386/​centalt-release-5-3.noarch.rpm
 +Определить тип вашей системы можно командой:​
 +  uname -i
 +  x86_64
 +
 +x86_64 - означает,​ что у вас система 64 бита.
 +
 +Полезно отключить этот репозиторий,​ чтобы система автоматически ничего лишнего не ставила из него:
 +  vi /​etc/​yum.repos.d/​centalt.repo
 +  ​
 +  enabled=0
 +
 +Установка пакета:​
 +  yum -y --enablerepo=CentALT install mod_rpaf
 +
 +В файле конфигурации mod_rpaf - **/​etc/​httpd/​conf.d/​00_rpaf.conf**
 +нужно добавить следующие строки:​
 +
 +  LoadModule rpaf_module modules/​mod_rpaf-.0.so ​                  
 +  RPAFenable On                                                  ​
 +  RPAFsethostname Off                                              ​
 +  RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy ​             ​
 +  RPAFheader X-Real-IP
 +  ​
 +<note tip>​Вместо xx.xx.xx.xx и yy.yy.yy.yy укажите IP адреса вашего сервера.</​note>  ​
 +
 +Рестарт Apache
 +
 +  service httpd restart
 +
 +Проверяем работу модуля.
 +В каталоге любого вашего домена создайте файл test-ip.php с таким содержимым:​
 +  <?PHP
 +  echo $_SERVER['​REMOTE_ADDR'​];​
 +  ?>
 +
 +Откройте ссылку ​
 +
 +[[http://<​ваш домен>/​test-ip.php]]
 +
 +
 +Если отображается IP, отличающийся от IP вашего сервера,​ модуль работает правильно.
 +
 +===== Примечания:​ =====
 +
 +
 +  * Наличие ISPmanager не обязательно.
 +  * Эта конфигурация будет работать на любом другом дистрибутиве Linux, только нужно использовать соотвествующие репозитории. ​
 +===== Ссылки:​ =====
 +
 +  * [[http://​stder.net/​apache/​rpaf]]
 +
 +----
 +
 +Актуальность:​ 2011/07/18 14:07 
 +
 +{{tag> web вебсервер nginx apache}}