У нас есть серверы 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 необходимо было настроить для соответствия различным страницам, которые необходимо было кэшировать.