Greetings,

Using Fedora Core 1
Apache 1.3.29
mod_perl 1.29

Aparently I am just not understanding something and would like to ask this
list for some help. I'm trying to set up a non-mod_perl proxy server as the
front end which would then forward requests for certain files of certain
applications to the back-end mod_perl enabled apache. I've set up the front
end apache (which I just named 'apache') with mod_proxy, mod_rewrite, and
mod_proxy_add_forward following after the example in
http://perl.apache.org/docs/1.0/guide/scenario.html#Building_the_httpd_perl_Server
(thanks Stas for the docs). I then set up the back-end (which I named
'apache_perl'). Both start up just fine and the front end serves ordinay files
and plain CGI scripts just fine. It even appears to forward the matching test
mod_perl requests to the back-end server. The problem is that I get a '500
internal Server Error' and no entry in the error logs for the back-end. I'm
pretty sure the back-end server is getting the requests cause the error
message on the screen shows this message on the bottom 
'Apache/1.3.29 Server at 127.0.0.1 Port 8181' and that is the name of my
back-end server (127.0.0.1) not the front-end and that's the port I have it
running on. When I start up the apache_perl server the info gets printed to
the correct error log, but not the error generated when I try and run the test
script. I don't know exactly where to go from here since I can't tell why the
script is generating the error. Here are the relevant portions of my conf files

apache/conf/httpd.conf
[snip]

ErrorLog /usr/local/apache/logs/error_log

RewriteEngine     on
RewriteRule       ^/(intranet/.*\.cgi)$  http://127.0.0.1:8181/$1   [P,L]
NoCache           *
ProxyPassReverse  /  http://extranet.venzia.com/

[/snip]


apache_perl/conf/httpd.conf
[snip]
  ServerName 127.0.0.1 
  Port 8181
  ErrorLog /usr/local/apache_perl/logs/error_log
  LogLevel warn

  PerlRequire /usr/local/apache_perl/conf/startup.pl
  PerlPostReadRequestHandler My::ProxyRemoteAddr
  PerlModule Apache::Registry

  <Location /intranet>    
    DirectoryIndex index.cgi index.html
    SetHandler perl-script
    PerlHandler Apache::Registry
    Options ExecCGI
    allow from all
    PerlSendHeader On
    PerlSetEnv PERL5LIB /development
  </Location>
[/snip]



apache_perl/conf/starup.pl


#!/usr/bin/perl
 
use Apache::Constants ();
  sub My::ProxyRemoteAddr ($) {
    my $r = shift;
    
    # we'll only look at the X-Forwarded-For header if the requests
    # comes from our proxy at localhost
    return Apache::Constants::OK
        unless ($r->connection->remote_ip eq "127.0.0.1")
            and $r->header_in('X-Forwarded-For');
}
 
1;


Any help would be appreciated.
Thanks

Michael Peters
Venzia





-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to