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

Как добавить другой собственный заголовок

Мое приложение изменяет контент в зависимости от кода страны пользователя. Найдите диаграмму потока запросов к серверу.

запрос https -> nginx обрабатывает завершение ssl -> varnish -> если не кеширован, получить содержимое из apache

http rquest -> varnish -> перенаправить на ссылку https -> nginx обрабатывает завершение ssl -> varnish -> если не кэширован, получить содержимое из apache

Используя модуль varnish GeoIP, я нашел код страны пользователя и установил значение в заголовке req.http.X-Country-Code Я прочитал это значение заголовка в приложении.

Проблема: Он всегда кэширует первое попадание и обслуживает все места

Я надеюсь, что добавление различных заголовков решит мою проблему. Не могли бы вы помочь мне?

Я не уверен, куда добавить различный заголовок nginx или apache.

Решение 1) https://varnish-cache.org/docs/5.1/users-guide/vcl-hashing.html

Решение 2) добавьте заголовок

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

https://varnish-cache.org/docs/5.1/users-guide/increasing-your-hitrate.html?highlight=vary#http-vary

если не получается добавить шапку в начале координат вы можете изменить vcl_backend_response добавить заголовок Vary

Некоторые документы:

https://varnish-cache.org/docs/5.1/reference/states.html#reference-states https://varnish-cache.org/docs/5.1/users-guide/vcl-built-in-subs.html