• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

Мануал Nginx + Apache - Инсталляция и настрока Nginx и Apache OS: Debian Lenny.

Красная Королева

Путник
Модератор
Сообщения
468
Розыгрыши
0
Репутация
141
Реакции
29
Баллы
0
Надеюсь новичкам пригодиться.
Так как сам столкнулся с данной проблемой.

Устанавливаем Nginx из набора пакетов:
Код:#aptitude install nginxПолучаем версию 0.6.32. Древняя, по сравнению с размещённой на сайте разработчика - 0.8.29. Лучше, конечно, собрать сервер из исходных кодов, что мы когда нибудь и сделаем; а сейчас приступим к конфигурированию пакетной версии.

Делаем резервные копии затрагиваемых нами конфигурационных файлов:
Код:#cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.distПосле установки из пакетов Nginx не стартовал, и это к лучшему; учитывая то, что у нас уже установлен настроенный на работу с портом "80" Apache2, запущенный с правами пользователя "www-data", ничего хорошего из запуска не вышло.
Для начала заведем для Ngnix отдельного пользователя, от имени которого он будет работать в системе:

Код:#groupadd www-nginx #useradd --home-dir /var/lib/nginx --shell /bin/false --gid www-nginx www-nginxСразу припоминаем, что доступ в директории web ресурсов пользователей доступ у нас жёстко ограничен. Для того, что бы наш Nginx мог обратится к нужным ресурсам необходимо ввести пользователя "www-nginx" в группы владельцев web ресурсов, которым разрешён доступ на чтение:

Код:#usermod --append --groups ug000 www-nginx #usermod --append --groups ug001 www-nginxДоработаем конфигурацию Apache2 до той, в которой он будет корректно отрабатывать в связке с прозрачным "прокси" Nginx.

Для начала установим модуль, предоставляющий Apache2 принимать от "прокси" реальный IP адрес обращающегося клиента, с учётом того, что он замаскирован включённой нами прослойкой из "прозрачного прокси". Суть в том, что модуль позволяет Apache2 использовать заголовок X-Forwarded-for, передаваемый с запросом, в качестве значения заголовка несущего реальный IP удалённого клиента (припоминаем, что IP удалённого клиента в запросе у нас занят IP "прозрачного прокси"):

Код:#aptitude install libapache2-mod-rpafДелаем резервные копии затрагиваемых нами конфигурационных файлов:
Код:#cp /etc/apache2/mods-available/rpaf.conf /etc/apache2/mods-available/rpaf.conf.distПриводим конфигурационный файл "/etc/apache2/mods-available/rpaf.conf" к следующему виду:

Код:RPAFenable On # включаем механизм RPAFsethostname On # включаем передачу заголовка X-Host RPAFproxy_ips 127.0.0.1 # указываем адрес "front-end"Пройдемся по конфигурационным файлам Apache2 и везде, где есть указание на то, какие интерфейсы и порты прослушиваются, укажем "127.0.0.1:8080". Как минимум это конфигурационные файлы "/etc/apache2/ports.conf" и "/etc/apache2/sites-available/*". Например, для файла "/etc/apache2/ports.conf" это будет:

Код:NameVirtualHost 127.0.0.1:8080 Listen 127.0.0.1:8080А для "/etc/apache2/sites-available/u1000.local":

Код: ServerName u000.local ServerAlias ...Для того, что бы в журнальных файлах Apache2 фиксировался реальный IP удалённого клиента, а не IP "прокси", заменяем в описании формата вывода журналируемой информации переменную "%h" на "%{X-Forwarded-For}i"; как, впрочем, и рекомендовано разработчиками Apache2.

Перезапустим Apache2:
Код:#/etc/init.d/apache2 restart
 

Назад
Сверху Снизу