You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by James Tait <JT...@wyrddreams.demon.co.uk> on 2002/04/19 11:56:47 UTC

Several questions with Apache 2.0.35 (mod_rewrite, mod_cache, mod_proxy) on Solaris 8

Hi all,

I'm currently working (under extreme time limitations) on building and 
configuring Apache 2.0.35 for a client.  There are a couple of requirements 
that are important to the project:

   - Some files will be cached, some won't
   - Some files need a call out to an external java program for 
authentication/authorisation, some don't.
   - There may be a requirement to retrieve (proxy) external content.
   - The webroot will be mounted from a SAN.

I've compiled Apache with mod_so, mod_proxy, mod_rewrite, mod_cache and 
mod_disk_cache and the worker MPM with the following command:

   ./configure --enable-so \
               --enable-modules="proxy rewrite cache disk_cache" \
               --enable-layout=Solaris \
               --with-mpm=worker

The way we intend to handle this is to have four directories:

   /
   +ProtCache
   +ProtNoCache
   +NoProtCache
   +NoProtNoCache

We intend to use mod_cache to cache the relevant documents on the local 
filesystem to avoid hitting the SAN every time.  We also intend to use 
mod_rewrite to run the java program for authorisation of files in 
directories ProtCache and ProtNoCache.

I'm using "gcc version 2.95.3 20010315 (release)" for the build.  The build 
goes OK, and I can install the resulting binaries.  I've edited the 
necessary sections in httpd.conf (as far as I can tell).  I have the 
following rewrite setup:

   RewriteMap  AUTH  "prg:/usr/j2se/bin/java -classpath 
/usr/src/client:/usr/src/client/lib/jlog.jar AUTH 500 /tmp/auth_log"
#  RewriteMap  AUTH  "prg:/usr/src/hutch3g/AUTH"
   RewriteRule ^/Prot([^/]*)/(.+) /${AUTH:Prot$1/$2|DENIED}
   RewriteRule ^/DENIED$ - [F]
   RewriteLog /var/apache/logs/rewrite_log
   RewriteLogLevel 3
   RewriteEngine on

However, the external rewriting program never seems to get executed.  No 
logfile is ever produced by the program and it never shows up in any 
process list.  I can run exactly the command line I am supply in httpd.conf 
as user apache and as root.  I have tried replacing this with a simple C 
program that takes no parameters, but it still never gets executed.  Am I 
doing something drastically wrong here (and if so, what? ;))?  I can supply 
source code for stubbed-out versions of both the Java program and the C 
program.

For the caching configuration, I have the following:

   CacheEnable disk /ProtCache
   CacheEnable disk /NoProtCache
   CacheRoot /var/apache/cache
   CacheOn on

The directory /var/apache/cache does exist.  However, requesting 
/NoProtCache/index.html does not result in anything being written to the 
cache directory.  I've tried prefixing the directories above with the 
docroot path, but still no luck.  Again, am I missing something obvious 
(and if so, what? ;))?

Also, the following questions have been asked which I'm not sure of the 
answer to:

   1) In access_log, we have a "bytes sent" field.  If a download is 
discontinued (e.g. we lose the network connection halfway through a 
download), does this log the bytes sent up until disconnection, or the 
bytes that should have been sent?

   2) Assuming we can get our java external rewriting engine running, how 
many instances of this will be kicked off, at server startup and at request 
time?  The program is multithreaded.

Any help you can offer will be very gratefully received, as I'm already 
running over a day late.

Many thanks,

JT


________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs SkyScan
service. For more information on a proactive anti-virus service working
around the clock, around the globe, visit http://www.messagelabs.com
________________________________________________________________________

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org