使用 apache 反向代理缓存图像

使用 apache 反向代理缓存图像

我正在尝试设置 apache2 反向代理来缓存图像。(需要 Apache,不需要 nginx)

似乎有标题被缓存,但没有图像、css 等。

我的配置:

CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3

Header unset Cache-Control
CacheIgnoreNoLastMod On
CacheIgnoreCacheControl On
CacheMaxFileSize 100000000
CacheIgnoreNoLastMod On
CacheMaxExpire 1209600
CacheIgnoreQueryString On
ExpiresActive On
ExpiresByType image/gif A600
ExpiresByType image/png A600
ExpiresByType image/jpeg A600
ExpiresByType text/css A600
ExpiresByType text/javascript A600
ExpiresByType application/x-javascript A600
ExpiresByType image/x-icon A600

... 查找/var/cache/apache2/mod_disk_cache /var/cache/apache2/mod_disk_cache/yLp /var/cache/apache2/mod_disk_cache/yLp/RoH /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary /var/缓存/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary/E8t /var/缓存/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary/E8t/g9u /var/缓存/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary/E8t/g9u/8de /var/缓存/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary/E8t/g9u/8de/VLu /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary/E8t/g9u/8de/VLu/3Io /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary/E8t/g9u/8de/VLu/3Io/qHld08w.data /var/cache/apache2/mod_disk_cache/yLp/RoH/iGt/8Dm/4KZ/uhEhPIw.header.vary/E8t/g9u/8de/VLu/3Io/qHld08w.header

查找 /var/cache/apache2/mod_disk_cache|grep jpeg 和 查找 /var/cache/apache2/mod_disk_cache|grep css 结果为零。

来自错误日志(调试)[2013 年 4 月 28 日星期日 14:22:36] [调试] mod_cache.c(751): cache: 缓存 url:/~/media/Images/2011_01_LR_jpg.jpg [2013 年 4 月 28 日星期日 14:22:36] [调试] mod_cache.c(757): cache: 删除 CACHE_REMOVE_URL 过滤器。

答案1

我认为 mod_cache 不能开箱即用,因此您应该调整 apache httpd 配置或
vhost 配置:首先,在静态文件所在的目录上您需要设置:

    <FilesMatch "\\.(|pdf|jpg|jpeg|png|gif|)$"> 
    Header unset Last-Modified 
    </FilesMatch> 

另外,据我记得,在您的 cache_mod 配置中,您需要指定 CacheRoot 路径:

    CacheRoot /path/to/your/cache_folder

希望这可以帮助。

相关内容