Hi Andrew -

> I want to simplify my configuration in two ways. I'd prefer not to
> maintain two sets of VirtualHost configuration data, and I'd like it
> if the block that proxies .pl files to the backend proxy not be
> replicated per VirtualHost.

Have you looked at mod_macro?  Depending on how similar your virtual hosts
are to each other, it might be useful. For example, suppose you set up
config files like so:

FrontEndMacros.cfg:

   <Macro MyVirtualHost $host $dir>
      <VirtualHost *>
         ServerName $host
         DocumentRoot $dir
         <LocationMatch "\.pl$">
            RewriteRule ...rule to proxy to backend...
         </LocationMatch>
         ...other frontend config stuff...
      </VirtualHost>
   </Macro>

BackEndMacros.cfg:

   <Macro MyVirtualHost $host $dir>
      <VirtualHost *>
         ServerName $host
         DocumentRoot $dir
         ...other backend config stuff...
      </VirtualHost>
   </Macro>

MyVirtualHosts.cfg:

   Use MyVirtualHost www.siteA.com /path/to/siteA/htdocs
   Use MyVirtualHost www.siteB.com /path/to/siteB/htdocs
   Use MyVirtualHost www.siteC.com /path/to/siteC/htdocs

httpd.conf for frontend:

   Listen 1.2.3.4:80
   NameVirtualHost *
   Include FrontEndMacros.cfg
   Include MyVirtualHosts.cfg

httpd.conf for backend:

   Listen 127.0.0.1:8080
   NameVirtualHost *
   Include BackEndMacros.cfg
   Include MyVirtualHosts.cfg


This could let you maintain just one included file that defined the list
of virtual hosts, and even though the proxying block would be replicated
for each frontend host, at least you wouldn't have to do that manually.  
You could probaly even combine the macro definitions in FrontEndMacros.cfg
and BackEndMacros.cfg with some appropriately placed <IfDefine> blocks.

More mod_macro info is at:
   http://www.coelho.net/mod_macro/
(It says it's an Apache 2 module but version 1.1.2 works with Apache
1.3.X)


HTH,
Larry Leszczynski
[EMAIL PROTECTED]


Reply via email to