Re: Proxied mod_perl server problem

2002-05-23 Thread Pedro Melo Cunha

upgrade to cvs version of apache on the proxy. cvs version solveds this problem.

best regards,

On Mon, May 13, 2002 at 06:57:07PM +1000, Ian Macdonald wrote:
 Hi All.
 
 I'm setting up a new server and wish to run two Apache configurations,
 one vanilla and one mod_perl. I've configured pretty much according to
 Stas' excellent guide, using the rewrite module to push the perl
 requests to the second (ie mod_perl) server.
 
 Versions; HP-UX 10.20, Apache 1.3.24, mod_perl 1.26.
 
 It's _nearly_ working, but I'm getting one weird piece of behaviour
 which looks to me like the sort of problem someone with more experience
 will recognise very swiftly; when I request a perl script via the
 mod_perl-enabled locations, the content is preceded by a hex number,
 which corresponds very closely to the size of the content, and then a
 blank line, as shown below:
 
 4e9
 
 PID = 3282
 DOCUMENT_ROOT=/opt/web_root/html
 GATEWAY_INTERFACE=CGI-Perl/1.1
 etc.
 
 The browser displays the wait cursor for about 15 seconds and then
 follows the content (which is correct) with another blank line and then
 a zero:
 
 ...
 SERVER_SOFTWARE=Apache/1.3.24 (Unix) mod_perl/1.26
 TZ=EST-10EDT
 
 0
 
 The script works correctly from the command line, or if the mod_perl
 server port is accessed directly from the browser, or if the mod_perl
 server is started without proxying enabled.
 
 This looks to me as if two parts of the system are contributing the same
 header information, or if two protocol layers are being added in the
 wrong order, or something like that.
 
 Thanks for any tips.
 Ian Macdonald
 [EMAIL PROTECTED]
 
 Here's the rewrite config chunk from the main apache:
 
  RewriteEngine  On
  RewriteLogLevel0
  RewriteRule ^proxy:.*  -  [F]
  RewriteRule ^/perl/(.*)  http://%{HTTP_HOST}:8200/perl/$1 [P,L]
  RewriteRule ^/cgi-perl/(.*)  http://%{HTTP_HOST}:8200/cgi-perl/$1 [P,L]
 
  ProxyPassReverse / http://%{HTTP_HOST}/
 
 Here's the /perl/ location config from the mod_perl apache
 
 Location /perl/*.pl
 SetHandler perl-script
 PerlHandler Apache::Registry
 Options -Indexes ExecCGI
 PerlSendHeader On
 /Location
 
 

-- 
Pedro Melo Cunha - [EMAIL PROTECTED]
Novis Telecom, S.A. - Dir. Rede - ISP http://www.novis.pt/
EdifĂ­cio Novis - Estrada da Outurela, 118 - 2795-606 Carnaxide
tel:  +351 21 0104340 - fax: +351 21 0104301



Re: Proxied mod_perl server problem

2002-05-13 Thread Igor Sysoev

On Mon, 13 May 2002, Ian Macdonald wrote:

 I'm setting up a new server and wish to run two Apache configurations,
 one vanilla and one mod_perl. I've configured pretty much according to
 Stas' excellent guide, using the rewrite module to push the perl
 requests to the second (ie mod_perl) server.
 
 Versions; HP-UX 10.20, Apache 1.3.24, mod_perl 1.26.
 
 It's _nearly_ working, but I'm getting one weird piece of behaviour
 which looks to me like the sort of problem someone with more experience
 will recognise very swiftly; when I request a perl script via the
 mod_perl-enabled locations, the content is preceded by a hex number,
 which corresponds very closely to the size of the content, and then a
 blank line, as shown below:
 
 4e9
 
 PID = 3282
 DOCUMENT_ROOT=/opt/web_root/html
 GATEWAY_INTERFACE=CGI-Perl/1.1
 etc.

Your backend send chunked response - I think you use 1.3.24 mod_proxy
and it probably send HTTP/1.1 request.
You should force mod_perl to HTTP/1.0

Another way is to use mod_accel. It always uses HTTP/1.0 with backend
and more advanced then mod_proxy.

Igor Sysoev
http://sysoev.ru