Hide Forgot
Apache documentation[1] claims you can specify url string such as: CacheEnable disk http://www.example.org/ or CacheEnable disk http:// However, httpd apparently does not recognize these url strings, as it never looks to cache when they are used. It appears CacheEnable only works file paths: CacheEnable disk / or CacheEnable disk /app/ I tested on both RHEL 7.2 and upstream httpd 2.4.18, and both behave the same. It appears to be this upstream bug: https://bz.apache.org/bugzilla/show_bug.cgi?id=53787 References: [1]https://httpd.apache.org/docs/2.4/mod/mod_cache.html#cacheenable
To reproduce on RHEL 7.2: 1. Tomcat content > mkdir /var/lib/tomcat/webapps/hello/ > touch /var/lib/tomcat/webapps/hello/helloworld.txt > put some text in helloworld.txt > chmod -R root.tomcat /var/lib/tomcat/webapps/hello/ 2. httpd.conf LogLevel debug <Proxy balancer://mycluster> BalancerMember ajp://127.0.0.1:8009 route=node0 loadfactor=1 ping=10 ttl=600 max=60 ProxySet stickysession=JSESSIONID|jsessionid timeout=10 </Proxy> ProxyStatus On ProxyPassMatch ^/hello(.*) balancer://mycluster/hello$1 CacheRoot "/var/cache/httpd/proxy/" CacheEnable disk / #CacheEnable disk /hello/ #CacheEnable disk http://localhost/ #CacheEnable disk http:// CacheDirLevels 3 CacheDirLength 5 CacheIgnoreCacheControl On CacheIgnoreNoLastMod On CacheIgnoreQueryString On CacheQuickHandler off 3. Force browser to reload helloworld.txt (ctrl+f5 with Firefox). 4. mod_cache is not part of the request processing when CacheEnable is the following: CacheEnable disk http://localhost/ CacheEnable disk http://
According to documentation, "http://" or "http://localhost" works only for forward proxies. You are using reverse prosy for which this configuration does not work according to documentation. What's the real problem you are trying to solve?