Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Предыдущая версия
сети:nginx_apache_mod_rpaf_ispmanager [2011/07/18 11:51]
сети:nginx_apache_mod_rpaf_ispmanager [2022/12/26 12:13] (текущий)
maryia
Строка 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}}
 +
 +{{htmlmetatags>metatag-robots=(noindex,nofollow)}}