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

Apache mod_proxy и кеширование

У нас есть серверы apache, которые проксируют контент с сервера приложений, а также с устаревшего веб-сервера. Мы включили кеширование с помощью нашего балансировщика нагрузки, но кеширование работает не так, как мы ожидали. Вот наша установка:

Мы устанавливаем заголовки кеша специально для страниц, обслуживаемых нашим сервером приложений, используя:

<Location ~ /(appDir1|appDir2|appDir3)>
Header set Cache-Control max-age=3600,public
</Location>

Это прекрасно работает.

На устаревшем сервере системный администратор установил это на своем виртуальном хосте Apache, на котором работает его старый сайт:

Header set Cache-Control max-age=0,private,no-cache

Однако наши балансировщики нагрузки по-прежнему кэшируют устаревший контент, который мы проксируем.

Когда мы посещаем http: // appHost / legacyDir1 - видим кешированный контент. Когда мы посещаем http: // legacyHost / legacyDir1 - видим некэшированный контент. По крайней мере теоретически, мы ожидаем увидеть некэшированные на http: // appHost / legacyDir1.

Есть идеи, что нам может не хватать ...?

Км

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