[peruser] Problem with reverseproxy configuration

Samuel Degrande Samuel.Degrande at lifl.fr
Tue Nov 14 06:45:15 MST 2006


First of all, I would like to thank you a lot for this Apache MPM which 
is what I really
need to protect my SVN repositories.
( and secondly, excuse me for my bad english, I'm only a poor french :-( )

However I have a problem with my configuration. Here is an extract of my 
test config :

### Section 1: Global Environment
KeepAlive Off
Multiplexer www www
Processor www www
Processor svn svn
### VHost : host
<VirtualHost host.lifl.fr:80>
     ServerEnvironment www www
     ServerName host.lifl.fr:80
     RewriteEngine On
     RewriteRule ^/test-svn/(.*) http://svnhost.lifl.fr/test-svn/$1 [P]
     RewriteRule ^/test-svn http://.fr/test-svn.lifl.fr/ [P]
### VHost : svnhost
<VirtualHost svnhost.lifl.fr:80>
     ServerEnvironment svn svn
     DocumentRoot /....
     ServerName svnhost.lifl.fr:80
     ErrorLog var/logs/svnhost-error_log
     CustomLog var/logs/svnhost-access_log common

Now, here is my problem :
- access to http://host.lifl.fr/index.html is OK
- access to http://svnhost.lifl.fr/test-svn/index.html is OK
- access to http://host.lifl.fr/test-svn/index.html (which is rewritten 
in http://svnhost.lifl.fr/test-svn/index.html) is not working
  (the connection is closed, but nothing is returned to the web browser)

With the classical Apache MPM, everything is fine.

In svnhost-access_log, there is a "GET /test-svn/index.html HTTP1/1" 200 90
So the rewriting and the internal request to the svnhost vhost seems to 
be handled correctly.

I did compile peruser with debug mode activated.
I will not copy here the whole trace which is really big, but here is 
what happens :

MULTIPLEXER 0 gets a request for host.lifl.fr/...
child#0 activates child#1
PROCESSOR 1 (child#1) gets the request for host.lifl.fr/...
the last trace form child#1 is : peruser_post_read(): request for 
host.lifl.fr seems to be for us
MULTIPLEXER 0 (child#0) gets a request for svnhost.lifl.fr/....
        (so I guess that child#1 rewrote the first request, and launched 
an internal new request)
child#0 activates child#2, and calls make_child()
child#1 calls just_die()
PROCESSOR 2 (child#2) gets the request for svnhost.lifl.fr/...
child#2 clones itself into child#3
child#0 calls make_child()
child#2 calls just_die()
WORKER 3 (child#3) calls listen_add()
child#0 gets the signal from child#2 being died
child#3 calls just_die()
and that's all, child#0 returns in standby state

I can send you some more trace infos if needed.

So, should an internal 'reverseproxy' works with the peruser module, or 
is there a problem with my
config ?

Best regards

Samuel Degrande           LIFL - UMR8022 CNRS - INRIA Futurs - Bat M3
Phone: (33)  USTL - Universite de Lille 1
[CA certs: http://igc.services.cnrs.fr/CNRS-Standard/recherche.html ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4039 bytes
Desc: S/MIME Cryptographic Signature
Url : http://www.telana.com/pipermail/peruser/attachments/20061114/39e9876a/smime.bin

More information about the Peruser mailing list