Bug 6437 - mod_proxy in apache don't proxying to apache-mod_perl
: mod_proxy in apache don't proxying to apache-mod_perl
Status: CLOSED DUPLICATE of bug 4994
: Sisyphus
(All bugs in Sisyphus/apache-mod_perl)
: unstable
: all Linux
: P2 critical
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-04-08 15:02 by
Modified: 2012-03-16 13:57 (History)


Attachments
letter (3.36 KB, text/plain)
2005-04-08 15:05, Mike Lykov
no flags Details
Небольшая переделка стартовых скриптов. (1.56 KB, patch)
2005-04-28 22:37, solo
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-04-08 15:02:36
Ситуация такая (мастер 2.4 в оригинале, но, думаю, с тех пор ничего не
поменялось)
ставим apache, apache-mod_perl
запускаем httpd, httpd-perl
Все красиво запускается,  httpd-perl делается в режиме perlproxied и ожидает
запросов, перенправленных из apache на порту 8200.
Но вот только httpd, поскольку запускается первым, не знает о perlproxied не
знает и запускается в обычном режиме, поэтому кусок конфига 
<IfDefine PERLPROXIED>                                                         

     <IfModule mod_proxy.c>                                                    

         ProxyPass               /perl/ http://127.0.0.1:8200/                 

         ProxyPassReverse        /perl/ http://127.0.0.1:8200/                 

     </IfModule>  

в нем не работает, mod_proxy не включается и httpd-perl никаких запросов не
получает.

Выход: 

Быстрый (грязный ;) :
при наличие установленных apache и apache-mod_perl убрать из httpd.conf
упоминания о <IfDefine PERLPROXIED>   (всегда будет работать с mod_proxy)

концептуальный:
2. сконфигурировать все таким образом, чтобы при наличии apache  -
apache-mod_perl работал бы только с проксированными запросами с 127.0.0.1:8200,
а без apache вообще не ставился.

Так же прилагается письмо с подробнростями ;)
------- Comment #1 From 2005-04-08 15:05:40 -------
Created an attachment (id=800) [details]
letter

Письмо с предложением, как чинить и концептуальными изменениями (вероятно,
несколько сумбурное ;)
------- Comment #2 From 2005-04-28 22:37:51 -------
Created an attachment (id=849) [details]
Небольшая переделка стартовых скриптов.

(In reply to comment #1)

 Работает для apache-1.3.33rusPL30.20-alt1.M24 +
apache-mod_perl-1.3.33rusPL30.20-alt1.M24 (Master 2.4 + backports) и для
apache-1.3.33rusPL30.20-alt2 + apache-mod_perl-1.3.33rusPL30.20-alt2
(Sisyphus).
------- Comment #3 From 2005-06-24 18:00:23 -------
так... с альсой раскидались, с xmms раскидались, пора апач чинить ;-)
------- Comment #4 From 2005-06-24 18:04:57 -------
Date: Fri, 24 Jun 2005 01:54:44 -0400
From: Ivan Adzhubey <iadzhubey rics bwh harvard edu>
To: ALT Linux Sisyphus discussion list <sisyphus@>
Subject: Re: [sisyphus] Re: apache-mod_perl broken?

Нет, просто из /etc/rc.d/init.d/httpd все хозяйство с определением переменной
PERLPROXIED было убрано, сознательно как я подозреваю. Остался, видимо просто
забыт, неработающий кусок в /etc/rc.d/init.d/httpd-perl, который к тому же
там в комментариях обозван грязным хаком. Это подталкивает к мысли, что
убрано было сознательно, хотя я и не имею понятия почему.
------- Comment #5 From 2005-06-26 08:18:52 -------
Прошу прощения за дезинформацию в моем предыдущем комменте, любезно 
скопированом сюда Michael Shigorin ;). На самом деле как раз 
в /etc/init.d/httpd-perl все работает как положено и переменная PERLPROXIED 
выставляется, если уже есть запущенный просто httpd. А вот в /etc/init.d/httpd 
эта переменная не выставляется, да и я ума не приложу как оно вообще могло 
работать? И работало ли когда-нибудь? Ведь когда запускается htpd (первым, 
приоритет 80) он ничего не знает о том будет ли запущен потом httpd-perl. Может 
всунуть туда чтение /etc/rc.d/* или просто вызов chkconfig на предмет проверки 
активированного сервиса httpd-perl в текущем уровне загрузки? 
------- Comment #6 From 2005-06-27 13:54:08 -------
Иван, Вы скажите, что было сделано, чтобы оно заработало локально.

Поскольку grep имеет мнение, что входимость PERLPROXIED в инитскриптах "до" и
"после" переезда схемы оных не менялась, соответственно сам бы не отламывал:

home:~/RPM/SOURCES> grep PERLPROXIED httpd*.init.*
httpd-perl.init.2_2:    DEFINE="-DPERLPROXIED"
httpd-perl.init.2_3:       DEFINE="-DPERLPROXIED"
httpd-perl.init.2_3:            echo "** apache-mod_perl is running in
PERLPROXIED mode"
httpd-perl.init.Master: DEFINE="-DPERLPROXIED"
httpd-perl.init.Sisyphus:       DEFINE="-DPERLPROXIED"
httpd-perl.init.Sisyphus:               echo "** apache-mod_perl is running in
PERLPROXIED mode"

(это небольшая свалка, в текущей сборке не Master/Sisyphus, а 2_2/2_3)
------- Comment #7 From 2005-08-24 21:38:49 -------
Я сейчас буду допинывать и вываливать 1.3.33-alt3.

С заинтересованных -- проверить, починил ли это (changelog там на три release,
увы, получился).  Если не починил или не понял рекомендаций, предложить или
ткнуть носом.

PS: можно и в #4994.

*** This bug has been marked as a duplicate of 4994 ***
------- Comment #8 From 2005-08-24 21:43:35 -------
И ещё вопрос -- использует ли кто-то apache-mod_perl без apache?
------- Comment #9 From 2005-08-24 23:39:39 -------
(In reply to comment #1)
> Письмо с предложением, как чинить и концептуальными изменениями (вероятно,
> несколько сумбурное ;)
Хорошее письмо, так и сделал :-)

Народ, я сейчас закину alt3 к себе -- проверите? (а также на его базе соберу
alt2.M24.1 для backports)
------- Comment #10 From 2005-08-25 14:12:37 -------
Если кто-то такой маньяк что использует, то пущай сам настраивает ручками.
Потому как в таких случаях reverse-proxy обязателен.
------- Comment #12 From 2005-12-18 00:06:00 -------
Никто не смотрел, как понимаю.

*sigh*
------- Comment #13 From 2006-01-03 09:10:09 -------
(In reply to comment #12) 
> Никто не смотрел, как понимаю. 
>  
> *sigh* 
 
Э-э, почему не смотрел? Смотрел - работает. Если chkconfig reset не забыть 
сделать конечно. Так когда работает - никто и не похвалит, известное дело. 
Спасибо ;-)