[Server-devel] Apache proxy CRCsync

Alex Wulms alex.wulms at scarlet.be
Sun Mar 15 17:03:28 EDT 2009


Hi Toby,

I managed to get it working on my PC under suse 11.1 with apache 2.2.10.

When I configured a dedicated debug log per virtual server, I noticed that the 
crccache_client and crccache_server modules were both invoked in both virtual 
servers. Judging from the error log you sent me, that is also the case on 
your server.

I have made following changes to fix the situation:

1) Move the 'CacheEnable crccache_client' directive (for the 'default' virtual 
server) inside the <VirtualHost> tag. Apparently it is applied globally as 
long as it is outside the <VirtualHost> tag, regardless of the config file in 
which it appears.

2) Introduce a new directive 'CRCCacheServer on'.
This directive is checked by mod_crccache_server in the 
crccache_server_header_parser_handler.
It is specified in the <VirtualHost> tag of the upstream_proxy of the virtual 
server. 
Apparently modules get loaded globally and functions like 
the ..._header_parser_handler get invoked for each virtual server, so they 
must check themselves if they should be enabled or disabled in a given 
virtual server. I found this through google, which pointed me to a forum 
where somebody else had faced a similar problem.

I also realize why I only found cached files 
under /var/cache/apache2/mod_crccache_server and not under ..._client. 
It is because the crccache_client.conf and crccache_server.conf file both use 
the parameter CacheRoot to store the cache directory. These parameters are 
apparently also global. The fact that they are in two different config files 
does not automagically store them in a module specific namespace. So I have 
renamed the parameters to differentiate between the client and the server 
module.

I have also noticed that, although the server module reads these parameters, 
they actually don't get used by the current code. Are they there due to 
copy&paste reasons or are they already there for future enhancements, in 
order to cache stuff temporary on the server side?

I have pushed my changes to the repository. Please review them. I'm still new 
to Apache development so I might have misinterpreted some things.

Thanks and kind regards,
Alex



Op zondag 15 maart 2009, schreef Toby Collett:
> Not much time to work on crcsync this weekend, but I have enabled block
> replacement, so in theory the latest version in git should be able to be
> used to serve web pages.
>
> Toby




More information about the Server-devel mailing list