Связка Nginx Apache mod_remoteip или mod_rpaf
Установка связки Nginx оптимизация и использование, Apache и mod_rpaf.
- Ubuntu
Установка nginx 7.65 в Ubuntu 10.04.3 LTS
# aptitude install nginx
Для установки более свежей версии (1.0.5 stable) нужно подключить репозиторий Nginx PPA на Launchpad.
# aptitude install python-software-properties # add-apt-repository ppa:nginx/stable или add-apt-repository ppa:nginx/development если нужно установить последнюю нестабильную версию # aptitude update # aptitude install nginx
- Debian можно подключить для Debian Squeeze порты от Wheezy и добавить сторонний репозиторий
# nginx deb http://mirror.yandex.ru/debian/ wheezy main deb-src http://mirror.yandex.ru/debian/ wheezy main
# nginx -V nginx version: nginx/1.1.11 built by gcc 4.6.2 (Debian 4.6.2-4)
или же можно добавить репозиторий The repository for Debian-based LAMP servers и ключ к нему
deb http://packages.dotdeb.org squeeze all deb-src http://packages.dotdeb.org squeeze all # wget -q -O - http://www.dotdeb.org/dotdeb.gpg | apt-key add -
mod_rpaf: cвязка Apache и Nginx
Для связки Apache и Nginx оптимизация и использование существует несколько вариантов:
- при помощи mod_rpaf предварительно установив его из исходных кодов или из репозитория
# aptitude install libapache2-mod-rpaf
- при помощи модуля mod_extract_forwarded обеспечивающего функциональность аналогичную mod_rpaf.
Теория: запрос клиента приходит на nginx, nginx запрашивает Apache, при этом HTTP- заголовок HOST теряется, а адрес клиента REMOTE_ADDR Apache определит как 127.0.0.1. Заголовок HOST подставим в настройках nginx
# nano /etc/nginx/proxy_params proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Но REMOTE_ADDR Apache определяет сам. Решается эта проблема при помощи mod_rpaf. Работает он следующим образом: Nginx знает IP клиента и добавляет некий HTTP-заголовок (например X-Real-IP), в который прописывает этот IP. mod_rpaf получает этот заголовок и прописывает его содержимое в переменную REMOTE_ADDR Apache. Таким образом, php-скрипты, выполняемые Apache будут видеть реальный IP клиента.
Для связки Apache и nginx нужен установленный модуль mod_rpaf не ниже версии 0.6. Установка из исходных кодов описана в mod_rpaf.
aptitude install libapache2-mod-rpaf
Настроим mod_rpaf:
# nano /etc/apache2/mods-enabled/rpaf.load LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf.so
В конфигурационный файл mod_rpaf нужно изменения(добавить) параметры.
# nano /etc/apache2/mods-enabled/rpaf.conf # Включить модуль RPAFenable On # Исправить поле HOST RPAFsethostname Off # Список IP front-end (один или больше) RPAFproxy_ips 127.0.0.1 Your_Real_IP # Какое поле заголовка брать для замены X-Real-IP или X-Forwarded-For RPAFheader X-Forwarded-For
- Пример простого виртуального хоста, который только перенаправляет запросы Apache
server { listen 80; server_name YourNameDomen.com; error_log /var/log/nginx/error.log info; access_log /var/log/nginx/access.log; location / { proxy_pass http://127.0.0.1:81/; } }
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах