Управление кешем при использовании mod_cache и mod_pagespeed

Я использую mod_pagespeed с mod_cache.

Когда mod_pagespeed выключен, а mod_cache выключен, я вижу следующий заголовок:

cache-control: public, max-age = 7200, must-revalidate

Когда mod_pagespeed включен, а mod_cache выключен, я вижу следующий заголовок в ответе:

cache-control: max-age = 0, no-cache, must-revalidate

Как и ожидалось, pagepeed перезаписал управление кешем.

Однако, когда включен mod_pagespeed и включен mod_cache, я вижу следующее:

cache-control: public, max-age = 7200, must-revalidate

Согласно документации:

"По умолчанию , PageSpeed ​​обслуживает весь HTML-код с помощью Cache-Control: no-cache, max-age = 0, потому что преобразования, сделанные на странице, могут быть недоступны для кеширования в течение длительных периодов времени ».

Почему HTML-код обслуживается как кешируемый, когда включены mod_pagespeed и mod_cache?

0
задан 15 September 2016 в 01:25
2 ответа

Похоже на ошибку при запуске mod_pagespeed 1.11.33.2-0 с Apache Httpd 2.4.23 при запуске mod_cache.

По каким-то причинам mod_pagespeed не переписывает заголовки кэша, что оставляет html публично кэшируемым.

Обходным путем, который я использовал, был запуск virtualhost на порту 81 в качестве кэширующего сервера без страничной скорости.

<VirtualHost *:81>
ProxyPass / ajp://tomcat-ipaddress:8009/
ProxyPassReverse / https://final-hostname/
ModPagespeed off
RemoteIPHeader X-Forwarded-For
CacheEnable disk /
CacheHeader on
</VirtualHost>

На virtualhost 443 или 80 вы можете затем проксировать хост на 81.

 <VirtualHost _default_:443>
 ProxyPass / http://localhost:81/
 ProxyPreserveHost On
 ModPagespeed on
 ProxyPassReverse / https://final-hostname/
1
ответ дан 5 December 2019 в 09:30

Потому что по умолчанию mod_cache работает в режиме быстрого обработчика:

http://httpd.apache.org/docs/current/mod/mod_cache.html#cachequickhandler

, что означает касается ответа "последний" после того, как mod_pagespeed выполнил свои преобразования.

Используйте пример

CacheQuickHandler off
AddOutputFilterByType ... 

, чтобы упорядочить фильтры соответствующим образом.

-1
ответ дан 5 December 2019 в 09:30

Теги

Похожие вопросы