Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-rus] proxy



Hello Cyril,

понедельник, 6 сентября 1999 г., you wrote:

CAV> Суть проблемы - split httpd. Разнесенные в
CAV> разные сервера апачи с mod_perl, с mod_php и др.,
CAV> которые пашут через front-server с russian-apache,
CAV> mod_rewrite + mod_proxy. И все бы хорошо, но
CAV> перекодировка не делается на те запросы, что
CAV> через mod_proxy возвращаются.

Как конкретно запросы пробрасываются на backend-сервер? Дело в том,
что mod_proxy использует, насколько я помню, ap_bwrite, не
обрабатывающуюся русским апачем. Это значит, перекодировку надо
ставить на обоих httpd. Более того - на backend-сервере ее
_обязательно_ нужно делать по портам (или виртуальным хостам). Если ты
сделаешь перекодировку по Useragent, произойдет следующее: у тебя
приходит клиент в 1251, запрашивает документ. Документ ложится в кэш.
После чего приходит клиент в koi8, запрашивает этот же документ.
Поскольку URL тот же самый, ему отдадут из кэша документ в 1251. А
Vary mod_proxy обрабатывать не умеет - он HTTP/1.0 :(

Что касается frontend-сервера, там можно использовать любой способ
перекодировки, просто RewriteRule будет меняться соответственно. Если
у тебя, допустим, перекодировка по портам, то получится

RewriteRule /this/(.+) http://proxy.host:%{SERVER_PORT}/that/$1 [p]

А если по UserAgent, то

RewriteCond %{CHARSET} windows-1251
RewriteRule %/this/(.+) http://proxy.host:8080/that/$1 [p]

RewriteCond %{CHARSET} koi-8
RewriteRule %/this/(.+) http://proxy.host:8083/that/$1 [p]

....


Best regards,
 Ilya                            mailto:ilya@zhurnal.ru


=============================================================================
=               Apache-Rus@lists.lexa.ru mailing list                       =
Mail "unsubscribe apache-rus" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/mail-archive                =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.