Быстро VCL не установит Cookie без возврата (перезапуск), страница ошибки 200 OK

У меня есть немного времени, чтобы Varnish VCL установил cookie для A/B теста. Похоже, что полностью игнорировать установку куки, если я restart запрос. Проблема там, если я использую restart Я всегда получаю страницу "Ошибка 200 OK" при первой загрузке страницы. например

sub vcl_deliver {
 if (!req.http.Cookie:test_group) {
   add resp.http.Set-Cookie = "test_group=" req.http.X-Test-Group ";expires="+ time.add(now,30d) +"; path=/";
   return(restart);
}...

Если я возьму возврат (перезапуск), ничего не произойдет, и cookie никогда не будет установлен. Если я принудительно перезапущу, cookie будет установлен, но первый ответ получит ошибку 200

Ни один из этих методов, похоже, ничего не делает и никогда не устанавливает cookie:

1.

sub vcl_deliver {
  add resp.http.Set-Cookie = "test_group=" req.http.X-Test-Group ";expires="+ time.add(now,30d) +"; path=/";
...

2.

sub vcl_deliver {
  if (!req.http.Cookie:test_group) {
    add resp.http.Set-Cookie = "test_group=" req.http.X-Test-Group ";expires="+ time.add(now,30d) +"; path=/";
  }...

0 ответов

Другие вопросы по тегам