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

Плохое кеширование Apache Httpd на страницах Drupal, содержащих контент из Tomcat

У меня есть веб-сайт Drupal, работающий на Httpd, который выполняет вызовы AJAX для извлечения фрагментов HTML, которые обслуживаются JSP в Tomcat 6, запущенном на другом виртуальном хосте. Интеграция между двумя серверами осуществляется через Jkmod.

Когда данные в серверной части Java изменяются, HTML, обслуживаемый JSP, изменяется, чтобы отразить новые данные. К сожалению, отражение изменений на сайте Drupal часто занимает больше часа. Это не кеширование в локальном браузере, поскольку мы смотрели сайт с разных машин с одинаковыми результатами, а также использовали Firebug для отключения кеширования браузера.

Конкретный сценарий:

Прошлой ночью приложение Tomcat было отключено, в результате чего страницы Drupal, которые выполняют вызовы AJAX, отображают ошибки. Когда приложение Tomcat было запущено снова, страницы, которые пользователи не посещали, пока сервер был выключен, отображались с правильным HTML-кодом от Tomcat. На посещенных страницах по-прежнему отображается ошибка. Посещение тех же самых JSP напрямую (т. Е. Без использования Httpd) было нормальным. Окончательное решение заключалось в том, чтобы сделать невидимое изменение на странице Drupal, после чего ошибка исчезла и содержимое JSP отображалось правильно. Опять же, обычно это занимает час или два, прежде чем исправится без изменений страницы.

Я плохо знаю Httpd или Drupal, поэтому не уверен, где будет настроено это странное кеширование. Запуск Httpd 2.2, Drupal 6.17 и Tomcat 6.0.29

Drupal имеет собственное встроенное кэширование. Войдите на свой сайт на портале администрирования drupal. обычно domain.com/user, а затем перейдите к конфигурации сайта / исключениям кеширования, отсюда вы можете исключить определенные страницы из кеширования.