Не могу настроить лак для работы с куками и модулем drupal

Я использую файлы cookie, чтобы пользователи мобильных устройств могли посещать мой сайт как пользователи компьютеров. Для этого я даю им куки — mob_yes.

Затем в модуле я использую перехватчик drupal, чтобы проверить, установлен ли файл cookie.

Я вижу, что cookie устанавливается, но в моем модуле (isset($_COOKIE["mob_yes"])) всегда возвращает false при использовании лака.

В /etc/varnish/default.vlc у меня есть следующее:

if (req.http.Cookie) {
set req.http.Cookie = regsuball(req.http.Cookie, ";(mob_yes)=", "; \1=");

Я действительно не уверен, что здесь происходит, но я только предполагаю, что лак временно не отключает этот файл cookie? Кто-нибудь знает, что здесь происходит?

Спасибо,


person rix    schedule 24.01.2012    source источник
comment
Вам нужно указать, где находится ваш вставленный код. Принадлежит ли он vcl_recv, vcl_hash, vcl_hit или vcl_fetch?   -  person Doomsday    schedule 29.08.2012


Ответы (1)


что ты имеешь ввиду

Я вижу, что cookie устанавливается

вы имеете в виду, что вы можете видеть это в заголовках в firebug (на стороне клиента), а затем вы видите это на стороне сервера с помощью tcpdump/lacklog/application (на стороне сервера)?

Фрагмент кода из vcl, вероятно, является частью широко используемого способа сохранения важных файлов cookie путем добавления пробела перед ними, удаления всего, что не имеет комбинации «; [пробел]», и удаления пробела в конце. Позже он используется для генерации хэша для конкретного запроса url+cookies.

я думаю, вы должны проверить свой vcl, если он не удаляет файлы cookie, если пользователь не вошел в систему - это обычная практика для увеличения скорости попадания.

обычно в vcl для drupal это часть, которая проверяет DRUPAL_UID

person Łukasz Rysiak    schedule 06.04.2012