HI,
I think the HTML page you create via the front end proxy server is serving 
using chunked encoding (new support for HTTP/1.1 for mod_proxy since 1.3.23).

Gael



> -----Message d'origine-----
> De : Michael E. Lewis [mailto:[EMAIL PROTECTED] 
> Envoy� : vendredi 3 mai 2002 13:24
> � : [EMAIL PROTECTED]
> Objet : Proxied output is corrupted by extraneous numbers
> 
> 
> Hello,
> 
> While preparing to upgrade our production servers, I 
> encountered a problem that may involve mod_proxy code.  When 
> html code is generated and printed by our mod_perl handler 
> initiated directly from the back end the output is correct.  
> When the same operation is initiated via the front end proxy 
> server the output is corrupted by extraneous numbers.  I have 
> set up a test scenario to isolate the problem.  Our new 
> server configurations include this software:
> 
>         Front End                       Back End
>         ---------                       --------
>         kernel-2.4.9-31                 kernel-2.4.9-31
>         apache_1.3.24                   apache_1.3.24
>         mod_ssl-2.8.8-1.3.24            mod_perl-1.26
>         openssl-0.9.6c
>         mm-1.1.3
> 
> The front end apache configuration includes:
> 
>     <VirtualHost 192.168.20.111:80>
>         ServerName gelco5.yvod.com
>         DocumentRoot /www/gelcompany/html
> 
>         RewriteEngine On
>         RewriteLogLevel 9
>         RewriteOptions 'inherit'
> 
>         RewriteRule ^/$ http://192.168.20.111:8089/ [proxy,last]
> 
>         RewriteRule ^/(.+)$ /www/gelcompany/html/$1 [last]
>     </VirtualHost>
> 
> The back end apache configuration includes:
> 
>     NameVirtualHost 192.168.20.111:8089
>     Listen 8089
>     <VirtualHost 192.168.20.111:8089>
>         ServerName gelco5.yvod.com
>         DocumentRoot /www/gelcompany/html
> 
>         Alias / /www/gelcompany/modperl
> 
>         <Location />
>             SetHandler perl-script
>             PerlHandler YVOD::welcome
>         </Location>
>     </VirtualHost>
> 
> The test handler code looks like this:
> 
>     #!/usr/bin/perl -w -d
>     package YVOD::welcome;
>     use strict;
> 
>     sub handler{
>         my $r = shift;
>         $r->send_http_header('text/html');
>         print qq|<html><body bgcolor="#FFFFFF">\n|;
>         print "You are Welcome at ", $r->get_remote_host, 
> "<BR><BR>\n";
>         while (my ($key, $val) = each %ENV) {
>             print "$key = $val<BR>\n"; }
>         print "</body></html>";
>         return 1;
>     }
>     1;
> 
> The outout source looks like this when initiated directly 
> from the back end (http://192.168.20.111:8089/):
> 
>     <html><body bgcolor="#FFFFFF">
>     You are Welcome at 192.168.20.98<BR><BR>
>     QUERY_STRING = <BR>
>     HTTP_ACCEPT_LANGUAGE = en<BR>
>     TZ = PST8PDT<BR>
>     REMOTE_PORT = 3201<BR>
>     HTTP_USER_AGENT = Mozilla/4.76 [en] (X11; U; Linux 
> 2.2.14-5.0 i686)<BR>
>     HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, 
> image/pjpeg, image/png, */*<BR>
>     HTTP_HOST = 192.168.20.111:8089<BR>
>     GATEWAY_INTERFACE = CGI-Perl/1.1<BR>
>     SCRIPT_NAME = /<BR>
>     SERVER_NAME = gelco5.yvod.com<BR>
>     HTTP_ACCEPT_ENCODING = gzip<BR>
>     MOD_PERL = mod_perl/1.26<BR>
>     HTTP_ACCEPT_CHARSET = iso-8859-1,*,utf-8<BR>
>     HTTP_COOKIE = YVOD_SESSION_ID=2e4046b477f9374f<BR>
>     SCRIPT_FILENAME = /www/gelcompany/modperl<BR>
>     PATH = /bin:/usr/bin<BR>
>     SERVER_ADDR = 192.168.20.111<BR>
>     MOD_PERL_TRACE = all<BR>
>     SERVER_PROTOCOL = HTTP/1.0<BR>
>     HTTP_CONNECTION = Keep-Alive<BR>
>     SERVER_SIGNATURE = <ADDRESS>Apache/1.3.24 Server at 
> gelco5.yvod.com Port 8089</ADDRESS>
>     <BR>
>     SERVER_SOFTWARE = Apache/1.3.24 (Unix) mod_perl/1.26<BR>
>     SERVER_ADMIN = [EMAIL PROTECTED]<BR>
>     REMOTE_ADDR = 192.168.20.98<BR>
>     DOCUMENT_ROOT = /www/gelcompany/html<BR>
>     REQUEST_URI = /<BR>
>     REQUEST_METHOD = GET<BR>
>     SERVER_PORT = 8089<BR>
>     </body></html>
> 
> The outout source looks like this when initiated via the 
> front end proxy server (http://gelco5.yvod.com/):
> 
>     49a
>     <html><body bgcolor="#FFFFFF">
>     You are Welcome at 192.168.20.111<BR><BR>
>     QUERY_STRING = <BR>
>     HTTP_ACCEPT_LANGUAGE = en<BR>
>     TZ = PST8PDT<BR>
>     REMOTE_PORT = 2462<BR>
>     HTTP_USER_AGENT = Mozilla/4.76 [en] (X11; U; Linux 
> 2.2.14-5.0 i686)<BR>
>     HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, 
> image/pjpeg, image/png, */*<BR>
>     HTTP_HOST = 192.168.20.111:8089<BR>
>     GATEWAY_INTERFACE = CGI-Perl/1.1<BR>
>     SCRIPT_NAME = /<BR>
>     SERVER_NAME = gelco5.yvod.com<BR>
>     HTTP_ACCEPT_ENCODING = gzip<BR>
>     MOD_PERL = mod_perl/1.26<BR>
>     HTTP_ACCEPT_CHARSET = iso-8859-1,*,utf-8<BR>
>     HTTP_VIA = 1.0 gelco5.yvod.com (Apache/1.3.24)<BR>
>     SCRIPT_FILENAME = /www/gelcompany/modperl<BR>
>     PATH = /bin:/usr/bin<BR>
>     HTTP_X_FORWARDED_FOR = 192.168.20.96<BR>
>     SERVER_ADDR = 192.168.20.111<BR>
>     MOD_PERL_TRACE = all<BR>
>     SERVER_PROTOCOL = HTTP/1.1<BR>
>     HTTP_CONNECTION = close<BR>
>     SERVER_SIGNATURE = <ADDRESS>Apache/1.3.24 Server at 
> gelco5.yvod.com Port 8089</ADDRESS>
>     <BR>
>     SERVER_SOFTWARE = Apache/1.3.24 (Unix) mod_perl/1.26<BR>
>     SERVER_ADMIN = [EMAIL PROTECTED]<BR>
>     REMOTE_ADDR = 192.168.20.111<BR>
>     DOCUMENT_ROOT = /www/gelcompany/html<BR>
>     REQUEST_URI = /<BR>
>     REQUEST_METHOD = GET<BR>
>     SERVER_PORT = 8089<BR>
>     </body></html>
>     0
> 
> In the second case, there is about a 15 second delay before 
> the '0' prints at the bottom of the display and 'Document 
> Done.' is indicated. The number that prints at the beginning 
> changes depending upon the content (it may be a length 
> value), but the number at the end is always '0'.  Also, the 
> following messages are written to error_log:
> 
>     [Fri May  3 03:42:39 2002] [debug] proxy_cache.c(1026):
>       Request for http://192.168.20.111:8089/, 
> pragma_req=no-cache, ims=0
>     [Fri May  3 03:42:39 2002] [debug] proxy_util.c(1401):
>       File /opt1/httpd_docs/proxy/A/a/R/8dpIO_pSaxiSOa1CyWg not found
>     [Fri May  3 03:42:39 2002] [debug] proxy_cache.c(1280):
>       Local copy not present or expired. Declining.
>     [Fri May  3 03:42:49 2002] [debug] proxy_cache.c(1391):
>       Response is not cacheable,
>         unlinking /opt1/httpd_docs/proxy/A/a/R/8dpIO_pSaxiSOa1CyWg
>     [Fri May  3 03:42:49 2002] [debug] proxy_http.c(583):
>       Content-Type: text/html
> 
> Although I've abbreviated it for testing, the basic 
> configuration is the same as I've been using in production 
> for over two years, but it's quite possible that the source 
> of the problem is in the configuration.  It's also possible 
> that the problem has nothing to do with mod_proxy - it could 
> be related to Apache::PRINT.  If you can provide any help I 
> would be very grateful as I've been pounding at this for 
> several days now.  And if there is any other info I can get 
> for you please let me know.
> 
> Thanks, Michael...
> -- 
> Michael E. Lewis         YVOD, LLC / Comprehend.Com    Phone: 
> 510-655-3974
> [EMAIL PROTECTED]    5816 Ocean View Drive         Cell:  
> 510-435-3180
> [EMAIL PROTECTED]         Oakland, CA  94618-1535       Fax:   
> 419-781-9206
> 

Reply via email to