Назад | Перейти на главную страницу

Как использовать mod_cache с mod_proxy в Apache 2.4

Проблема заключается в том, что прокси-контент будет кэшироваться Apache 2.4.

Эта проблема была решено для Apache 2.2 (т.е. используйте mod_mem_cache). Но в Apache 2.4 mod_mem_cache был удален.

Мой исходный источник контента http://10.1.1.123:8081/data/ и это настроено в Apache так:

Alias /data /var/www/html/index.php

Данные index.php работают так:

root@orac:/var/www/html# cat index.php
<?php

$expires = time() + 5;
$expires = gmdate( 'D, d M Y H:i:s', $expires ) . ' GMT';

header( 'Content-Type: text/html; charset=utf-8' );
header( "Expires: {$expires}" );

echo $expires;

то есть контент истекает через пять секунд после запроса.

Если я обращаюсь к / data напрямую (из моего веб-браузера), работает пятисекундное кеширование.

В Apache моя конфигурация прокси выглядит так:

ProxyPass /cache/ http://10.1.1.123:8081/data/
ProxyPassReverse /cache/ http://10.1.1.123:8081/data/

И моя конфигурация кеширования выглядит так:

CacheEnable disk /
CacheRoot "/var/cache/mod_proxy"
CacheDirLevels 3
CacheDirLength 5
CacheIgnoreCacheControl On
CacheMaxFileSize 100000000
CacheIgnoreNoLastMod O

Хранилище кеша доступно для записи по www-данным:

root@orac:/var/cache/mod_proxy# ls -al
total 8
drwxr-xr-x  2 www-data www-data 4096 Jun  5 13:41 .
drwxr-xr-x 19 root     root     4096 Jun  5 13:41 ..

Кто-нибудь может мне с этим помочь?