[quote]Владимир пишет:
Как будет выглядеть переменная HTTP_X_FORWARDED_FOR в случае, когда между клиентом и сервером два кэширующих сервера:
1. Кэширующий сервер системы
2. Кэширующий сервер клиента [/quote]
Давайте разберемся с архитектурой, чтобы понять процесс обработки запроса и на какие данные можно опираться. Проследим запрос от браузера клиента.
Вы говорите во втором пункте, что клиент пользуется кэширующим проси сервером. Будем считать, что клиент в корпоративной сети находится и у него IP 192.168.0.5, что очень вероятно учитывая предложения Win систем по конфигурированию. Прокси сервер расположен с внутренней стороны на IP 192.168.0.1, а с внешней на реальном IP провайдера (Далее просто REAL_IP).
Набрав в строке браузера www.bitrixsoft.ru запрос поступает на локальный прокси на IP_192.168.0.1 Прокси сервер располагает данными об IP пользователя и направляет запрос с реального IP в Интернет к серверу, который запрашивает клиент. При этом, в зависимости от настроек прокси сервер может направить простой запрос с REAL_IP, а может и добавить в него информацию об адресе пользователя IP 192.168.0.5. Далеко не все прокси сервера добавляют IP пользователя. Я бы даже отметил, что правильно, когда не передается IP пользователя и не раскрывается информация о структуре внутренней сети.
Таким образом, к продукту или фронт-офису в двух уровневой архитектуре поступит запрос, содержащий переменную remote_addr и в некоторых случаях X-Forwarded-For.
Переменную X-Forwarded-For легко подделать и мы никогда не опираемся на нее, используем, например, в форуме только для вспомогательного информирования администратора.
Если сервер сконфигурирован по вдухуровневой архитектуре, то встает задача передать через прокси фронт-офиса два IP адреса, реальный и клиентский.
Обычно это делается передачей двух переменных в бэк-офис продукта и заменой переданными переменными значений REMOTE_ADDRES и X-Forwarded-For (точное написание не помню).
Мы, например, используем NGINX на своем сервере http://www.sysoev.ru/nginx/
И вполне успешно наш хостер настроил передачу всех переменных к продукту.
Хотя я еще раз отмечу, что передача реального IP только и имеет значение и для этого хорошо подходит продукт mod_realip http://www.sysoev.ru/mod_realip/
[quote]Владимир пишет:
Поэтому при анализе (и возможном приобретении пакет "Бизнес", Oracle версия) мы хотим досконально разобраться в разработанном механизме двухуровневого кеширования. Если вас не затруднит - ответьте, пожалуйста.[/quote]
Вам возможно будет интересно, завтра будет пресс-релиз по Оракл версиям продукта относительно изменения ценовой политики.