Вы правы, добавление новых файлов cookie, которые не требуются для кэширования, не повлияет на вашу конфигурацию VCL.
Вывод Varnishlog
Если есть сомнения, используйте лаковое бревно
. Вот команда, которую вы можете использовать для отслеживания поведения файлов cookie:
лаклог -g запрос -i ReqUrl -I ReqUnset:Cookie -I ReqHeader:Cookie
Эта команда будет отображать только URL-адрес запроса и различные строки журнала, в которых устанавливаются и сбрасываются значения файлов cookie.
Представьте, что вы отправляете следующий HTTP-запрос на ваш сервер Varnish:
curl -H "Cookie: foo=bar; location=test" http://localhost
Этот запрос отправляет 2 файла cookie в Varnish:
- Неизвестный
фу
куки, которые должны быть удалены
-
место расположения
cookie, который должен храниться
Вот вывод журнала:
* << Запрос >> 132325
- Требуемый URL /
- Куки ReqHeader: foo=bar; местоположение = тест
- ReqUnset Cookie: foo=bar; местоположение = тест
- Файл cookie ReqHeader: ;foo=bar; местоположение = тест
- ReqUnset Cookie: ;foo=bar; местоположение = тест
- Файл cookie ReqHeader: ;foo=bar;location=test
- ReqUnset Cookie: ;foo=bar;location=test
- Файл cookie ReqHeader: ;foo=bar; местоположение = тест
- ReqUnset Cookie: ;foo=bar; местоположение = тест
- Куки ReqHeader: ; местоположение = тест
- ReqUnset Cookie: ; местоположение = тест
- Куки-файл ReqHeader: location=test
Как видите, фу
cookie красиво удаляется, в то время как место расположения
cookie сохраняется.
Управление вариантами кеша
Я вижу, что вы пытаетесь держать под контролем количество вариаций кеша, что имеет смысл.
Проблема в том, что вредоносные запросы могут создавать нежелательные варианты кеша.
Если количество значений для одного файла cookie настолько ограничено, я предложил включить их в логику изменения кеша.
Используете ли вы значения файлов cookie в своем vcl_hash
логика в этом? Или ты используешь Варьировать: печенье
для этого?