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

Кеш Apache не работает с использованием веб-серверов с балансировкой нагрузки

Я только начал использовать haproxy (режим tcp из-за SSL) для балансировки нагрузки между двумя веб-серверами.

Когда я использовал один сервер, после первой загрузки изображений apache начал обслуживать заголовки «304 Not Modified». Но теперь я использую два веб-сервера, и мой браузер снова загружает изображения каждый раз, когда я подключаюсь к другому веб-серверу.

Все образы на обоих серверах имеют одинаковую дату модификации.

Вы, скорее всего, столкнетесь с ETag вопросы. ETag Apache по умолчанию для статических файлов рассчитывается с использованием индекс файловой системы #, поэтому, если у вас есть два разных сервера, использующих два разных диска, файлы будут иметь разные теги.

Добавьте на каждый сервер что-то вроде

FileETag MTime Size

на глобальном уровне, чтобы исключить индексный дескриптор # из расчета. Затем просто убедитесь, что ваши часы синхронизированы, а отметки времени во всех файлах идентичны, и вы должны быть установлены.