Loading ...
Sorry, an error occurred while loading the content.
 

Re: Mod_Perl2 w/mod_proxy/mod_rewrite

Expand Messages
  • Jonathan Steffan
    The rewrite rule is different. Something like: RewriteRule ^(*.)/(*.)/(*.) http://localhost:8080/perl-bb/script.pl?a=$1&b=$2&c=$3 [P] However, I worked around
    Message 1 of 4 , Oct 1, 2005
      The rewrite rule is different. Something like:

      RewriteRule ^(*.)/(*.)/(*.)
      http://localhost:8080/perl-bb/script.pl?a=$1&b=$2&c=$3 [P]

      However, I worked around the issue and used a ProxyPass to pass the
      request to the backend and _then_ do the rewrite. The handler is also
      different.

      -Jon

      Philip M. Gollucci wrote:

      > Philip M. Gollucci wrote:
      >
      >>> [error] slurp_filename('/opt/apache2/perl/script.pl?a=a&b=b&c=c')
      >>> / opening: (2) No such file or directory at
      >>> /opt/perl/lib/site_perl/5.8.7/i686-linux/ModPerl/RegistryCooker.pm
      >>> line 540
      >>
      > This works for me if I am understanding you correctly.
      >
      > Okay, so I've got this setup
      > perl 5.8.7 no ithread
      > apache 2.0.54 apr not threaded
      > mp2-svn
      >
      > I've got httpd.conf and httpd_mp2.conf
      >
      > httpd.conf:
      > Listen 80
      > RewriteEngine On
      > RewriteLog "......./logs/rewrite_log"
      > ErrorLog "......./logs/error_log"
      > RewriteLogLevel 3
      >
      > RewriteRule search/a/b/c
      > http://localhost:8080/perl-bb/script.pl?a=a&b=b&c=c [P]
      >
      > httpd_mp2.conf
      > Listen 8080
      > ErrorLog "......./logs/error_log_mp2"
      > Load perl_module modules/mod_perl.so
      >
      > Alias /perl-bb/ ....../perl-bb/
      > <Location /perl-bb/>
      > SetHandler perl-script
      > PerlResponseHandler ModPerl::RegistryBB
      > Options +ExecCGI
      > Allow from all
      > </Location>
      >
      > Start the Servers
      > sudo bin/httpd -f httpd.conf
      > bin/httpd -f httpd_mp2.conf
      >
      > Request
      > curl http://localhost/search/a/b/c
      >
      > Access Log
      > httpd.conf:80
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 -0400] "GET /search/a/b/c
      > HTTP/1.1" 200 33
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 -0400] "GET /search/a/b/c
      > HTTP/1.1" 200 33 "-" "curl/7.13.1 (i386-portbld-freebsd5.4)
      > libcurl/7.13.1 OpenSSL/0.9.7e zlib/1.2.1"
      >
      > httpd_mp2.conf:8080
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 -0400] "GET
      > /perl-bb/script.pl?a=a&b=b&c=c HTTP/1.1" 200 33
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 -0400] "GET
      > /perl-bb/script.pl?a=a&b=b&c=c HTTP/1.1" 200 33 "-" "curl/7.13.1
      > (i386-portbld-freebsd5.4) libcurl/7.13.1 OpenSSL/0.9.7e zlib/1.2.1"
      >
      > The server Error Logs
      > httpd.conf:80
      > [Sat Oct 01 01:23:35 2005] [notice] Digest: generating secret for
      > digest authentication ...
      > [Sat Oct 01 01:23:35 2005] [notice] Digest: done
      > [Sat Oct 01 01:23:35 2005] [notice] Apache/2.0.54 (Unix) DAV/2
      > configured -- resuming normal operations
      > [Sat Oct 01 01:23:35 2005] [info] Server built: Sep 30 2005 20:27:31
      > [Sat Oct 01 01:23:35 2005] [debug] prefork.c(956): AcceptMutex: flock
      > (default: flock)
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_http.c(67): proxy: HTTP:
      > canonicalising URL //localhost:8080/perl-bb/script.pl
      > [Sat Oct 01 01:23:54 2005] [debug] mod_proxy.c(418): Trying to run
      > scheme_handler
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_http.c(1059): proxy: HTTP:
      > serving URL http://localhost:8080/perl-bb/script.pl?a=a&b=b&c=c
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_http.c(186): proxy: HTTP
      > connecting http://localhost:8080/perl-bb/script.pl?a=a&b=b&c=c to
      > localhost:8080
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_util.c(1139): proxy: HTTP:
      > fam 2 socket created to connect to localhost
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_http.c(336): proxy: socket is
      > connected
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_http.c(370): proxy:
      > connection complete to 127.0.0.1:8080 (localhost)
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_http.c(893): proxy: start
      > body send
      > [Sat Oct 01 01:23:54 2005] [debug] proxy_http.c(953): proxy: end body
      > send
      >
      > httpd_mp2.conf:8080
      > [Sat Oct 01 01:23:41 2005] [notice] Digest: generating secret for
      > digest authentication ...
      > [Sat Oct 01 01:23:41 2005] [notice] Digest: done
      > [Sat Oct 01 01:23:41 2005] [warn] pid file
      > /usr/home/pgollucci/httpd/2.0.54/prefork/logs/httpd.pid overwritten --
      > Unclean shutdown of previous Apache run?
      > [Sat Oct 01 01:23:41 2005] [notice] Apache/2.0.54 (Unix) DAV/2
      > mod_perl/2.0.2-dev Perl/v5.8.7 configured -- resuming normal operations
      > [Sat Oct 01 01:23:41 2005] [info] Server built: Sep 30 2005 20:27:31
      > [Sat Oct 01 01:23:41 2005] [debug] prefork.c(956): AcceptMutex: flock
      > (default: flock)
      >
      >
      > The rewrite Log
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 --0400]
      > [localhost/sid#80a6dc8][rid#8169050/initial] (2) init rewrite engine
      > with requested uri /search/a/b/c
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 --0400]
      > [localhost/sid#80a6dc8][rid#8169050/initial] (3) applying pattern
      > 'search/a/b/c' to uri '/search/a/b/c'
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 --0400]
      > [localhost/sid#80a6dc8][rid#8169050/initial] (2) rewrite /search/a/b/c
      > -> http://localhost:8080/perl-bb/script.pl?a=a&b=b&c=c
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 --0400]
      > [localhost/sid#80a6dc8][rid#8169050/initial] (3) split
      > uri=http://localhost:8080/perl-bb/script.pl?a=a&b=b&c=c ->
      > uri=http://localhost:8080/perl-bb/script.pl, args=a=a&b=b&c=c
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 --0400]
      > [localhost/sid#80a6dc8][rid#8169050/initial] (2) forcing
      > proxy-throughput with http://localhost:8080/perl-bb/script.pl
      > 127.0.0.1 - - [01/Oct/2005:01:23:54 --0400]
      > [localhost/sid#80a6dc8][rid#8169050/initial] (1) go-ahead with proxy
      > request proxy:http://localhost:8080/perl-bb/script.pl [OK]
      >
      >
      >
      >
      > HTH
      >
      >
      >
      >
      >
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.