| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
Люди, помогите!
Кто общался с Apache: 1. есть такой модуль mod_proxy - полезная в некоторых случаях вещь, так вот, как его настроить таким образом, чтобы он выдавал содержимое документа сразу с момента начала его загрузки с удаленного узла, не дожидаясь его полной загрузки? Кэширование в принципе не важно, важно чтобы информация передавалась синхронно, по мере её появления в исходном документе. А то получается, что пока документ генерируется - прокси висит, а вскоре, после некоторого таймаута выдает ошибку. Грубо говоря: как заставить работать его с Connection: KeepAlive, сейчас он выдает заголовки типа Connection: Close и только. 2. вопрос еще такой, всем известный mod_rewrite - для редиректа использует команду [R], все работает, но адрес в строке броузера меняется, на тот, который переписывается, а должен бы остаться старый, в чем может быть проблема? Пробовал все статусы от 300 до 307. 3. вопрос уже на засыпку. Разрабатываю свой модуль к апачу, модулю необходимо при переходе управления к нему, оставлять у себя управление и генерировать документ, действие достаточно долгое (возможно, даже, и бесконечное), следовательно будет постоянно висеть копия апача в процессах, так вот, что с ней будет происходить, если стоит лимит на количество процессов апача (в настройках самого апача), т.е. плодится он не сможет при новых запросах, следовательно будет ошибка 500/503? Как этого избежать? P.S.: Версия Apache/1.3.31 P.P.S.: Какие еще HTTP-серверы есть, для которых можно писать модули и т.д., для которых есть документация почитать, и которые, хоть где-то используются? (IIS не предлагать) Заранее всем спасибо =) |
|
|
# 8 |
|
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
Options +FollowSymLinks
RewriteEngine on RewriteRule ^(.*) http://www.yandex.ru/yandsearch?stype=www&rpt=rad&text=$1 [R,P] вот что у меня получилось. адрес в браузере не переписывается
__________________
Nunc est bibendum Последний раз редактировалось is_absent; 31.08.2004 в 16:00. |
|
|
|
|
# 9 |
|
Guest
Сообщения: n/a
|
это у тебя через прокси сработало.. потому адрес и не переписался... а у меня, т.к. страница "все еще генерится" - апачевская прокся висит в дауне и думает.... пока сайт отдаст страницу.... в итоге выдает Proxy Error.... вот. А адрес не переписывается (это когда через прокси) - это у меня и раньше работало.. снова вернулись к первому вопрсоу...
|
|
|
# 12 |
|
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
Отдаешь заголовок Transfer-Encoding: chunked, а потом перед каждой частью ставить длинну этой части.
получится что-то вроде 10 1234567890 20 12345678901234567890 0 ой. длину в шестнадцатиричном виде нужно ставить
__________________
Nunc est bibendum |
|
|
|
|
# 13 |
|
Guest
Сообщения: n/a
|
нифиха не понял... попробую)
P.S. а как же тогда всякие поточные чаты работают через прокси? короче, шото у меня с этим Transfer-Encoding: Chunked вообще все перестало работать..... в принципе... даже напрямую, может я чего не так делаю? Код:
$string="Transfer-Encoding: Chunked\r\n\r\n".dechex(strlen($_out))."\r\n".$_out Код:
$string="\r\n".dechex(strlen($_out))."\r\n".$_out Код:
socket_write($msock, $string, strlen($string));
|
|
|
# 20 |
|
Guest
Сообщения: n/a
|
такс! кое-что уже есть:
поэксперементировал с ProxyIOBufferSize и ProxyReceiveBufferSize, поставил ProxyReceiveBufferSize в 512 байт (это минимум в апачике), а ProxyIOBufferSize в [очень большое число], проблема стала лучше... как бы, т.е. он стал показывать документ, как только размер добирался до 512 байт, потом до 1024 байт и т.д. второй буффер - это как я понял размер который максимум выгружать. Вот что плохо, нужно чтобы изменения в документе сразу отражались в броузере... а этого не происходит. К тому же, видимо у прокси есть некий таймаут, по наступлению которого, обновляется соединение - следовательно меняется сокет и все отсюда вытекающее, загрузка начинается с начала. Что делать? ХЕЛП! Очень нужно, может использовать не апачевский прокси, а что-то другое (если такое вообще возможно)? |