Я знаю, что это не на 100% то, что вы просили, но легко поставить сервер NGINX перед Apache, и он работает лучше в большинстве случаев. Nginx config (с кэшированием) так же просто, как ...
http{
proxy_cache_path /my_nginx_cache_folder levels=1:2 keys_zone=my_nginx_cache:2g max_size=2g
inactive=30d use_temp_path=off;
server {
listen 443 ssl;
server_name www.mydomain.com;
ssl_certificate /etc/letsencrypt/live/www.mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.mydomain.com/privkey.pem;
location / {
proxy_pass http://mydomain-on-anotherip.com:8081;
# the domain to request at the above IP
proxy_set_header Host mydomain.com;
proxy_set_header X-Real-IP $remote_addr;
# for this path, tell it to use the cache defined above
proxy_cache my_nginx_cache;
}
}
}
Я сделал это на многих моих серверах, и это прекрасно работает, и на вашем исходном сервере вы можете указать заголовки кэша, так что что верхний сервер NGINX будет кэшировать их до тех пор, пока вы укажете:
<?php
$cache_seconds = 60*60*24;
header("Expires: ".gmdate('D, d M Y H:i:s \G\M\T', time()+$cache_seconds));
header("Cache-Control:public, max-age=".$cache_seconds);
?>
При аналогичной конфигурации моя статистика показывает, что страницы загружаются за 0,250 секунды, а не с 0,800 секунды.