Здравствуйте!
Помогите пожалуйста, все волосы уже на голове вырвал :(Есть Apache (отдельная машина), за ним IIS 6.0 на котором крутятся 2 сайта на разных портах. На апаче настроены VirtualHost`ы с проксированием на различные сайты в IIS`е в зависимости от доменного имени. Проблема в том что сайт 1 использует кодировку Windows-1251, а сайт 2 кодировку UTF-8. Если указать директиву апача AddDefaultCharset (дефолтная кодировка) то корректно отображается или сайт 1 или сайт 2 в зависимости от указанной кодировки.
Я накопал что за перекодирование символов при прохождении траффика через Apache отвечат mod_proxy, но как указать ему чтобы он делал перекодирование для разных сайтов в разные кодировки или отключил перекодирование вообще?
Причем на Windows Apache при идентичных настройках все корректно работает.
так если для каждого вирт. хоста AddDefaultCharset . второй вроде как умеет
http://httpd.apache.org/docs/2.0/mod/core.html#adddefaultcha...если нет, то тогда AddDefaultCharset Off и через Content-Type скриптами/сервлетами или что там у вас.
Через AddDefaulCharset в контейнерах виртуал хостов результат нулевой. А можно пожалуйста по подробнее про Content-Type. Я в Web технология новичок.
>Через AddDefaulCharset в контейнерах виртуал хостов результат нулевой. А можно пожалуйста по
>подробнее про Content-Type. Я в Web технология новичок.http://www.w3.org/International/O-HTTP-charset
Спасибо. Знаниями я вооружился, вечером поеду во второй оффис пробовать! Чем всё закончится отпишусь.
Вобщем настроил через VirtualHost`s главное было AddDefaultCharset Off поставить в глобальном конфиге. Но появилась другая проблема: тепрь странички грузятся через раз, тоесть
страница может успешно загрузится с первого раза и без ошибок, но чаще происхожит ситуация когда страница загружается от 90%-98% и на этом загрузка прекращается! Причем если настроить через виндовый апач или зайти на сайт по LAN то все работает исправно.
Нет даже идей что может быть....ЗЫ. Версия apache 2.2.6 OS: RHEL-5
может стоит подумать об использовании squid/nginx/lighthttpd для целей reverse proxy вместо apache. Глядишь проще будет разобраться, что и почему происходит, да и скорость возрастет в разы.
Кстати изменение default charset для каждого virtual host в свое время успешно отрабатывало в апаче.
Это решение нужно использовать в связке? или можно обойтись любым из перечисленного? Просто мне нужно только надежное VirtualHost проксирование основанное на доменном имени. Скорость отдачи содержимого неважна, главное чтобы работа надежно!
И если по возможности приведите пример использования в этом всём деле использование VirtualHost. Я бы и сам нагуглил, но просто время поджимает (сегодня сервак надо сдать!!!!)
Ну если сегодня(похоже что уже вчера), то конечно нет смысла пытаться ставить нечто незнакомое. Но на будущее сделайте себе заметку, что желательно ознакомится с перечисленными вариантами и выбрать какой-либо из них в зависимости от задачи и личных предпочтений.
Я нашел закономерность. вот что говорит об этом Apache error.log:Wed Sep 12 15:14:07 2007] [error] (110)Connection timed out: proxy:
HTTP: attempt to connect to xxx.xxx.xxx.xxx:80 (www.backend.ca) failed
[Wed Sep 12 15:14:07 2007] [error] ap_proxy_connect_backend disabling
worker for (www.backend.ca)
[Wed Sep 12 15:14:14 2007] [error] proxy: HTTP: disabled connection
for (www.backend.ca)
[Wed Sep 12 15:14:16 2007] [error] proxy: HTTP: disabled connection
for (www.backend.ca)
[Wed Sep 12 15:14:17 2007] [error] proxy: HTTP: disabled connection
for (www.backend.ca)
[Wed Sep 12 15:14:19 2007] [error] proxy: HTTP: disabled connection
for (www.backend.ca)
[Wed Sep 12 15:14:22 2007] [error] proxy: HTTP: disabled connection
for (www.backend.ca)
Нагуглил только посты со схожими проблемаи,причём решения никто так и не нашёл.
Мне посоветовали добавить в конфиг следующие директивы:
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
Непомогло.
Эта проблема вообще решаема? Или она не устранима в принципе на Linux Apache? По тому что на Win Apache все работает...
Winda оказалась круче Линуха - мой внутренний мир дал трещину....
mod_proxy убери, если есть