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

Apache2 объединяет несколько заголовков Set-Cookie

У нас есть сервак, на котором запущен лак. Чтобы он работал правильно с Magento, он анализирует, прошел ли заголовок Set-Cookie: EXTERNAL_NO_CACHE = 1.

Проблема только в том, что у нас есть несколько заголовков (3 или 4), которые начинаются с «Set-Cookie:». У Varnish есть ограничение: он может анализировать только первый заголовок Set-Cookie.

Поэтому я хотел бы спросить, как я могу объединить эти несколько заголовков файлов cookie? Я безуспешно искал это последние 4 дня = (

Возможно, используя mod_header apache, но я не совсем уверен, какой будет правильный подход?

Есть другие идеи?

Заранее спасибо!

PS: Запуск Debian и Apache 2.2.9

EDIT: вот примеры заголовков, содержащих несколько строк set-cookie:

root@magento-development:/# curl -I http://XXXXXXXXX
[1] 5332
root@magento-development:/# HTTP/1.1 200 OK
Date: Thu, 10 Nov 2011 14:49:56 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch
X-Powered-By: PHP/5.2.6-1+lenny13
Set-Cookie: store=scfr; expires=Fri, 09-Nov-2012 14:49:56 GMT; path=/; domain=XXXXXXXXX; httponly
Set-Cookie: frontend=9ac04aa3912eb78eb79f98dd531f7ba6; expires=Thu, 10 Nov 2011 15:49:57 GMT; path=/; domain=XXXXXXXXX; HttpOnly
Expires: Thu, 10 Nov 2011 16:49:57 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: EXTERNAL_NO_CACHE=1; expires=Thu, 10-Nov-2011 15:49:57 GMT; path=/; domain=XXXXXXXXX; httponly
X-Cache-Debug: 1
Vary: Accept-Encoding,User-Agent
Content-Type: text/html; charset=UTF-8

РЕДАКТИРОВАТЬ: измененная конфигурация apache для соответствия требованиям публикации

Во-первых, объединение заголовков файлов cookie - плохая идея. Видеть что люди Apache говорят об этом .

Во-вторых, несколько заголовков set-cookie поддерживаются спецификацией протокола. Если varnish не может обрабатывать несколько заголовков set-cookie, это следует рассматривать как ошибку и сообщать о ней.

В-третьих, нельзя ли сделать правило dont-cache-this varnish зависимым от другого настраиваемого заголовка? как X-Magento-NoCache, который вы можете настроить из приложения или из apache? это должен быть куки? например

rewriteengine on
rewritecond %{QUERY_STRING} ___store
rewriterule .* - [E=MAGENTO_DONT_CACHE:1]

header add X-Magento-NoCache 1 env=MAGENTO_DONT_CACHE

Кто-то может предложить лучший ответ, но вы можете обнаружить, что это дает надежду на будущее или хорошее последнее средство, если вы готовы создать новую версию самостоятельно:

https://www.varnish-cache.org/trac/ticket/866