Приветствую всех и Игоря особенно! :)
Очень рад что существует mod_accel! Хотели бы на него перейти, но можно
вопрос к разработчику или к тем, кто его использует? Просто у меня есть
несколько вопросов, а чтобы все это проверить, надо многое переконфигурить
на живом сервере, а в документации ответов на эти вопросы я не нашел.
1. Вот немного смутившая фраза из документации (описание директивы
AccelPass)
"В запрос всегда включается заголовок "Host", содержащий имя и порт (если
порт не равен 80) сервера, на который перенаправлен запрос."
Как я понимаю, перенаправляется на http://backend/ в примере, значит будет
"Host: backend" или все таки тоже поле, что было передано клиентом frontend
серверу? Как я понимаю, последнее должно быть. Иначе, если первое, то если
несколько виртуальных хостов, то работать не будет.
2. Есть ли положительный опыт работы скрипта на сервере, где frontend
крутится на public_IP, а backend крутится на той же машине на 127.0.0.1 и
backend имеет много виртуальных хостов?
3. Можно ли случая, описанного в п.2 описать только одну директиву
AccelPass / http://backend/
Чтобы она все запросы ко всем виртуальным сайтам транслировала на backend,
но backend понимал к какому сайту запрашивается из заголовка Host? И на
frontend должен ли быть описан каждый виртуал-хост или достаточного одного,
а на backend-е всех перечисленных в конфиге хостов?
4. Есть ли простое решение от следующего? Сейчас у многих виртуал-хостов у
нас есть в конфигах запреты на директории для всех IP кроме такого-то
(например, для админ-скриптов)... Как я понимаю, в связи с переходом на
mod_accel, такие запреты надо будет переносить на frontend. То есть конфиг
надо разносить, так как часть настроек все таки будет на backend.
5. Если я выбрал схему: на frontend у меня описаны все виртуал-хосты на
public_IP адресе, а на frontend у меня те же виртуал-хосты, но на 127.0.0.1
адресе. Для каждого виртуала я описал на frontend директиву AccelPass и
одинаковую для всех виртуалов.
AccelPass / http://127.0.0.1/
Какой HTTP заголовок Host будет в запросе к backend для каждого виртуала?
6.Если опция указана директива "AccelAddXForwardedFor off", но клиент
передал X-Forwarded-For заголовок frontend-у, то передаст ли он этот
заголовок frontend к backend-у? (наши скрипты очень нуждаются в этом
заголовке от клиента).
7. Ну и вопрос как в п.6, только наоборот, если есть директива директива
"AccelAddXForwardedFor on", а клиент передал этот заголовок frontend-у, то
он "перетрет" его для backend-а на свой, либо добавит IP клиента в список к
существующему, либо перепишет тот IP, который был в оригинальном запросе
клиента. Наши скрипты нуждаются знать не только реальный IP клиента, но еще
IP, от которого обращался клиент к прокси, через который он обратился к
нашему frontend-у
Вообщем, кто может, помогите разобраться. Очень нужно знать все эти
тонкости.
С уважением, Алексей
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.