You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by John Armstrong <si...@siberian.org> on 2002/01/03 20:26:18 UTC

Strange Apache 2.0 rewrite/proxy issue

This 'seems' to be a modperl issue.

My configuration. I needed a 1.1 compliant reverse proxy in order to 
support Chunked encoding for an xml gateway.

Since only Apache 2.0 has a 1.1 compliant reverse proxy I replaced my 
Apache 1.3.14 standard apache wth an Apache 2.0.28 with the proxy 
support compiled in.

My modperl server on the backend is still running as 1.3.14.

The 2.0.28 proxy uses mod_rewrite. When it rewrites url's internally to 
go to a static apache server all works great!

However, when it rewrites to my modperl 1.3.14 server apache 2.0.28 
children start segfaulting left and right with a code 11. I can not find 
any reference to this on the 2.0 mailing lists/groups.

Does anyone know why Apache 2.0 running as a rewrite reverse proxy would 
die only when it talks to my modperl servers? This is destroying my 
development time and about  to kill me on some significant deadlines :(

John-


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by John Armstrong <si...@siberian.org>.
I was looking at oops but it doesn't seem to suit my needs which are :

Reverse 1.1 compliant proxy with mod_rewrite style capabilities.

Squid is my next chance but I was hoping to get apache working since I 
don't want to run _3_ servers ( squid, static apache and modperl 
apache ).

John-

On Thursday, January 3, 2002, at 11:38 AM, Ilya Martynov wrote:

>>>>>> On Thu, 3 Jan 2002 11:26:18 -0800, John Armstrong 
>>>>>> <si...@siberian.org> said:
>
> John> This 'seems' to be a modperl issue.
> John> My configuration. I needed a 1.1 compliant reverse proxy in order 
> to
> John> support Chunked encoding for an xml gateway.
>
> John> Since only Apache 2.0 has a 1.1 compliant reverse proxy I 
> replaced my
> John> Apache 1.3.14 standard apache wth an Apache 2.0.28 with the proxy
> John> support compiled in.
>
> You can try oops[1] also. It is a HTTP 1.1 proxy.
>
> [1] http://zipper.paco.net/~igor/oops.eng/
>
> --
>  
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> | Ilya Martynov (http://martynov.org/)          TIV.net 
> (http://tiv.net/) |
> | GnuPG 1024D/323BDEE6 D7F7 561E 4C1D 8A15 8E80  E4AE BE1A 53EB 323B 
> DEE6 |
>  
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Ilya Martynov <il...@martynov.org>.
>>>>> On Thu, 3 Jan 2002 11:26:18 -0800, John Armstrong <si...@siberian.org> said:

John> This 'seems' to be a modperl issue.
John> My configuration. I needed a 1.1 compliant reverse proxy in order to
John> support Chunked encoding for an xml gateway.

John> Since only Apache 2.0 has a 1.1 compliant reverse proxy I replaced my
John> Apache 1.3.14 standard apache wth an Apache 2.0.28 with the proxy
John> support compiled in.

You can try oops[1] also. It is a HTTP 1.1 proxy.

[1] http://zipper.paco.net/~igor/oops.eng/

-- 
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| Ilya Martynov (http://martynov.org/)          TIV.net (http://tiv.net/) |
| GnuPG 1024D/323BDEE6 D7F7 561E 4C1D 8A15 8E80  E4AE BE1A 53EB 323B DEE6 |
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Perrin Harkins <pe...@elem.com>.
> The 2.0.28 proxy uses mod_rewrite. When it rewrites url's internally to
> go to a static apache server all works great!

Compare the headers sent by your static pages vs. the ones sent by your
mod_perl pages.  There might be something not quite 1.1 compliant about it
that ticks of apache 2 (although segfaulting is clearly not reasonable
behavior even so).

- Perrin


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Vivek Khera <kh...@kcilink.com>.
>>>>> "NT" == Nick Tonkin <ni...@rlnt.net> writes:

JA> 1) Static html server.
>> 
>> I always make my front end reverse proxy handle static content
>> directly.

NT> Always is a strong word! At ValueClick we used thttpd servers to deliver
NT> gif images ... one thttpd could efficiently handle the same number of
NT> requests as several (non-mod_perl) front end reverse proxies ...

Did you make a front-end proxy talk to your thttpd servers?  I think
not...  I suspect you set the URLs to have the client talk to the
thttpd servers directly.





Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Nick Tonkin <ni...@rlnt.net>.
On 4 Jan 2002, Vivek Khera wrote:

> >>>>> "JA" == John Armstrong <si...@siberian.org> writes:
> 
> JA> Because the front end reverse proxy needs to connect to one of 3
> JA> different servers.
> 
> 
> JA> 1) Static html server.
> 
> I always make my front end reverse proxy handle static content
> directly.

Always is a strong word! At ValueClick we used thttpd servers to deliver
gif images ... one thttpd could efficiently handle the same number of
requests as several (non-mod_perl) front end reverse proxies ...

- nick

~~~~~~~~~~~~~~~~~~~~
Nick Tonkin   {|8^)>




Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Vivek Khera <kh...@kcilink.com>.
>>>>> "JA" == John Armstrong <si...@siberian.org> writes:

JA> Because the front end reverse proxy needs to connect to one of 3
JA> different servers.


JA> 1) Static html server.

I always make my front end reverse proxy handle static content
directly.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D.                Khera Communications, Inc.
Internet: khera@kciLink.com       Rockville, MD       +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera   http://www.khera.org/~vivek/

Re: Strange Apache 2.0 rewrite/proxy issue

Posted by John Armstrong <si...@siberian.org>.
Correct.

The overall goal here is to allow Apache 2.0 to handle the URL rewriting 
and redirection for all different types of requests. Currently we use 
Apache 1.3.14 for some items and the F5 load balancing box for others. 
The F5 has a hard limit of 100 rules in its latest version and we would 
rather not run into that so we decided to give Apache 2.0 a shot.

Until 2.0 is ready for prime time we'll just stick with the F5 and be 
careful about how many rules we add.

Thanks
J

On Thursday, January 3, 2002, at 02:08 PM, Igor Sysoev wrote:

> On Thu, 3 Jan 2002, John Armstrong wrote:
>
>> When the reverse proxy connects to the windows boxes it needs to
>> maintain a persistent connection since the client is an appliance, 
>> not a
>> browser.
>
> So if you will have persistent connection between client and frontend
> and have non-persistent connection between frontend and xml backend
> will it slow down your things significantly ?
>
> Igor Sysoev
>
>> This works fine with 2.0 when 2.0 is not segfaulting :)
>>
>> Think I'll just get out of apache land and let the F5 handle it for 
>> now,
>> we won't hit the 100 rule limit for a few more months and hopefully
>> apache 2.0 is more stable by then and can take over the URL rewriting.
>>
>> John-
>>
>> On Thursday, January 3, 2002, at 01:58 PM, Igor Sysoev wrote:
>>
>>> On Thu, 3 Jan 2002, John Armstrong wrote:
>>>
>>>> Correct, with 1.0 we lose persistency and things slow down
>>>> significantly.
>>>>
>>>> I guess I should have just said 'Persistency' in the first place, 
>>>> sorry
>>>> about that :)
>>>
>>> OK. Where do you need persistent connection - between frontend and
>>> xml backend or between client and frontend ?
>>>
>>>> On Thursday, January 3, 2002, at 01:44 PM, Igor Sysoev wrote:
>>>>
>>>>> On Thu, 3 Jan 2002, John Armstrong wrote:
>>>>>
>>>>>> Because the front end reverse proxy needs to connect to one of 3
>>>>>> different servers.
>>>>>>
>>>>>> 1) Static html server.
>>>>>> 2) Mod Perl dynamic content server
>>>>>> 3) Windows based xml servers that need to use 1.1 to communicate.
>>>>>
>>>>> So if one will make request to xml server with HTTP/1.0 then
>>>>> he will receive response with error code ?
>>>>> Can not it work in HTTP/1.0 at all ?
>>>>>
>>>>>> So for 3 we need chunked or the Content-Length, either way, we need
>>>>>> 1.1.
>>>>>> compatibility.
>>>>>>
>>>>>> John-
>>>>>>
>>>>>> On Thursday, January 3, 2002, at 12:33 PM, Igor Sysoev wrote:
>>>>>>
>>>>>>> On Thu, 3 Jan 2002, John Armstrong wrote:
>>>>>>>
>>>>>>>> This 'seems' to be a modperl issue.
>>>>>>>>
>>>>>>>> My configuration. I needed a 1.1 compliant reverse proxy in order
>>>>>>>> to
>>>>>>>> support Chunked encoding for an xml gateway.
>>>>>>>
>>>>>>> Why do you need chunked encoding from backend ?
>>>>>
>>>>> Igor Sysoev
>


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Igor Sysoev <is...@rambler-co.ru>.
On Thu, 3 Jan 2002, John Armstrong wrote:

> When the reverse proxy connects to the windows boxes it needs to 
> maintain a persistent connection since the client is an appliance, not a 
> browser.

So if you will have persistent connection between client and frontend
and have non-persistent connection between frontend and xml backend
will it slow down your things significantly ?

Igor Sysoev

> This works fine with 2.0 when 2.0 is not segfaulting :)
> 
> Think I'll just get out of apache land and let the F5 handle it for now, 
> we won't hit the 100 rule limit for a few more months and hopefully 
> apache 2.0 is more stable by then and can take over the URL rewriting.
> 
> John-
> 
> On Thursday, January 3, 2002, at 01:58 PM, Igor Sysoev wrote:
> 
> > On Thu, 3 Jan 2002, John Armstrong wrote:
> >
> >> Correct, with 1.0 we lose persistency and things slow down 
> >> significantly.
> >>
> >> I guess I should have just said 'Persistency' in the first place, sorry
> >> about that :)
> >
> > OK. Where do you need persistent connection - between frontend and
> > xml backend or between client and frontend ?
> >
> >> On Thursday, January 3, 2002, at 01:44 PM, Igor Sysoev wrote:
> >>
> >>> On Thu, 3 Jan 2002, John Armstrong wrote:
> >>>
> >>>> Because the front end reverse proxy needs to connect to one of 3
> >>>> different servers.
> >>>>
> >>>> 1) Static html server.
> >>>> 2) Mod Perl dynamic content server
> >>>> 3) Windows based xml servers that need to use 1.1 to communicate.
> >>>
> >>> So if one will make request to xml server with HTTP/1.0 then
> >>> he will receive response with error code ?
> >>> Can not it work in HTTP/1.0 at all ?
> >>>
> >>>> So for 3 we need chunked or the Content-Length, either way, we need
> >>>> 1.1.
> >>>> compatibility.
> >>>>
> >>>> John-
> >>>>
> >>>> On Thursday, January 3, 2002, at 12:33 PM, Igor Sysoev wrote:
> >>>>
> >>>>> On Thu, 3 Jan 2002, John Armstrong wrote:
> >>>>>
> >>>>>> This 'seems' to be a modperl issue.
> >>>>>>
> >>>>>> My configuration. I needed a 1.1 compliant reverse proxy in order 
> >>>>>> to
> >>>>>> support Chunked encoding for an xml gateway.
> >>>>>
> >>>>> Why do you need chunked encoding from backend ?
> >>>
> >>> Igor Sysoev


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by John Armstrong <si...@siberian.org>.
When the reverse proxy connects to the windows boxes it needs to 
maintain a persistent connection since the client is an appliance, not a 
browser.

This works fine with 2.0 when 2.0 is not segfaulting :)

Think I'll just get out of apache land and let the F5 handle it for now, 
we won't hit the 100 rule limit for a few more months and hopefully 
apache 2.0 is more stable by then and can take over the URL rewriting.

John-

On Thursday, January 3, 2002, at 01:58 PM, Igor Sysoev wrote:

> On Thu, 3 Jan 2002, John Armstrong wrote:
>
>> Correct, with 1.0 we lose persistency and things slow down 
>> significantly.
>>
>> I guess I should have just said 'Persistency' in the first place, sorry
>> about that :)
>
> OK. Where do you need persistent connection - between frontend and
> xml backend or between client and frontend ?
>
>> On Thursday, January 3, 2002, at 01:44 PM, Igor Sysoev wrote:
>>
>>> On Thu, 3 Jan 2002, John Armstrong wrote:
>>>
>>>> Because the front end reverse proxy needs to connect to one of 3
>>>> different servers.
>>>>
>>>> 1) Static html server.
>>>> 2) Mod Perl dynamic content server
>>>> 3) Windows based xml servers that need to use 1.1 to communicate.
>>>
>>> So if one will make request to xml server with HTTP/1.0 then
>>> he will receive response with error code ?
>>> Can not it work in HTTP/1.0 at all ?
>>>
>>>> So for 3 we need chunked or the Content-Length, either way, we need
>>>> 1.1.
>>>> compatibility.
>>>>
>>>> John-
>>>>
>>>> On Thursday, January 3, 2002, at 12:33 PM, Igor Sysoev wrote:
>>>>
>>>>> On Thu, 3 Jan 2002, John Armstrong wrote:
>>>>>
>>>>>> This 'seems' to be a modperl issue.
>>>>>>
>>>>>> My configuration. I needed a 1.1 compliant reverse proxy in order 
>>>>>> to
>>>>>> support Chunked encoding for an xml gateway.
>>>>>
>>>>> Why do you need chunked encoding from backend ?
>>>
>>> Igor Sysoev
>


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Igor Sysoev <is...@rambler-co.ru>.
On Thu, 3 Jan 2002, John Armstrong wrote:

> Correct, with 1.0 we lose persistency and things slow down significantly.
> 
> I guess I should have just said 'Persistency' in the first place, sorry 
> about that :)

OK. Where do you need persistent connection - between frontend and
xml backend or between client and frontend ?

> On Thursday, January 3, 2002, at 01:44 PM, Igor Sysoev wrote:
> 
> > On Thu, 3 Jan 2002, John Armstrong wrote:
> >
> >> Because the front end reverse proxy needs to connect to one of 3
> >> different servers.
> >>
> >> 1) Static html server.
> >> 2) Mod Perl dynamic content server
> >> 3) Windows based xml servers that need to use 1.1 to communicate.
> >
> > So if one will make request to xml server with HTTP/1.0 then
> > he will receive response with error code ?
> > Can not it work in HTTP/1.0 at all ?
> >
> >> So for 3 we need chunked or the Content-Length, either way, we need 
> >> 1.1.
> >> compatibility.
> >>
> >> John-
> >>
> >> On Thursday, January 3, 2002, at 12:33 PM, Igor Sysoev wrote:
> >>
> >>> On Thu, 3 Jan 2002, John Armstrong wrote:
> >>>
> >>>> This 'seems' to be a modperl issue.
> >>>>
> >>>> My configuration. I needed a 1.1 compliant reverse proxy in order to
> >>>> support Chunked encoding for an xml gateway.
> >>>
> >>> Why do you need chunked encoding from backend ?
> >
> > Igor Sysoev


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by John Armstrong <si...@siberian.org>.
Correct, with 1.0 we lose persistency and things slow down significantly.

I guess I should have just said 'Persistency' in the first place, sorry 
about that :)

John-

On Thursday, January 3, 2002, at 01:44 PM, Igor Sysoev wrote:

> On Thu, 3 Jan 2002, John Armstrong wrote:
>
>> Because the front end reverse proxy needs to connect to one of 3
>> different servers.
>>
>> 1) Static html server.
>> 2) Mod Perl dynamic content server
>> 3) Windows based xml servers that need to use 1.1 to communicate.
>
> So if one will make request to xml server with HTTP/1.0 then
> he will receive response with error code ?
> Can not it work in HTTP/1.0 at all ?
>
>> So for 3 we need chunked or the Content-Length, either way, we need 
>> 1.1.
>> compatibility.
>>
>> John-
>>
>> On Thursday, January 3, 2002, at 12:33 PM, Igor Sysoev wrote:
>>
>>> On Thu, 3 Jan 2002, John Armstrong wrote:
>>>
>>>> This 'seems' to be a modperl issue.
>>>>
>>>> My configuration. I needed a 1.1 compliant reverse proxy in order to
>>>> support Chunked encoding for an xml gateway.
>>>
>>> Why do you need chunked encoding from backend ?
>
> Igor Sysoev
>


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Igor Sysoev <is...@rambler-co.ru>.
On Thu, 3 Jan 2002, John Armstrong wrote:

> Because the front end reverse proxy needs to connect to one of 3 
> different servers.
> 
> 1) Static html server.
> 2) Mod Perl dynamic content server
> 3) Windows based xml servers that need to use 1.1 to communicate.

So if one will make request to xml server with HTTP/1.0 then
he will receive response with error code ?
Can not it work in HTTP/1.0 at all ?

> So for 3 we need chunked or the Content-Length, either way, we need 1.1. 
> compatibility.
> 
> John-
> 
> On Thursday, January 3, 2002, at 12:33 PM, Igor Sysoev wrote:
> 
> > On Thu, 3 Jan 2002, John Armstrong wrote:
> >
> >> This 'seems' to be a modperl issue.
> >>
> >> My configuration. I needed a 1.1 compliant reverse proxy in order to
> >> support Chunked encoding for an xml gateway.
> >
> > Why do you need chunked encoding from backend ?

Igor Sysoev


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by John Armstrong <si...@siberian.org>.
Because the front end reverse proxy needs to connect to one of 3 
different servers.

1) Static html server.
2) Mod Perl dynamic content server
3) Windows based xml servers that need to use 1.1 to communicate.

So for 3 we need chunked or the Content-Length, either way, we need 1.1. 
compatibility.

John-

On Thursday, January 3, 2002, at 12:33 PM, Igor Sysoev wrote:

> On Thu, 3 Jan 2002, John Armstrong wrote:
>
>> This 'seems' to be a modperl issue.
>>
>> My configuration. I needed a 1.1 compliant reverse proxy in order to
>> support Chunked encoding for an xml gateway.
>
> Why do you need chunked encoding from backend ?


Re: Strange Apache 2.0 rewrite/proxy issue

Posted by Igor Sysoev <is...@rambler-co.ru>.
On Thu, 3 Jan 2002, John Armstrong wrote:

> This 'seems' to be a modperl issue.
> 
> My configuration. I needed a 1.1 compliant reverse proxy in order to 
> support Chunked encoding for an xml gateway.

Why do you need chunked encoding from backend ?

> Since only Apache 2.0 has a 1.1 compliant reverse proxy I replaced my 
> Apache 1.3.14 standard apache wth an Apache 2.0.28 with the proxy 
> support compiled in.
> 
> My modperl server on the backend is still running as 1.3.14.
> 
> The 2.0.28 proxy uses mod_rewrite. When it rewrites url's internally to 
> go to a static apache server all works great!
> 
> However, when it rewrites to my modperl 1.3.14 server apache 2.0.28 
> children start segfaulting left and right with a code 11. I can not find 
> any reference to this on the 2.0 mailing lists/groups.
> 
> Does anyone know why Apache 2.0 running as a rewrite reverse proxy would 
> die only when it talks to my modperl servers? This is destroying my 
> development time and about  to kill me on some significant deadlines :(

I'm not sure that mod_proxy in Apache 2 is stable.

Igor Sysoev