Apache2 mescla vários cabeçalhos Set-Cookie

2

Temos um servidor com verniz. Para que funcione corretamente com o Magento, analisa se um cabeçalho Set-Cookie: EXTERNAL_NO_CACHE = 1 é passado.

O único problema é que temos vários cabeçalhos (3 ou 4) que começam com "Set-Cookie:". O verniz tem uma limitação de poder analisar apenas o primeiro cabeçalho "Set-Cookie".

Portanto, gostaria de perguntar como eu poderia mesclar esses cabeçalhos de cookies de vários conjuntos? Eu estive procurando por isso nos últimos 4 dias sem qualquer sorte = (

Talvez usando mod_header de apaches, mas não tenho certeza de qual seria a abordagem correta?

Alguma outra ideia?

Obrigado antecipadamente!

PS: executando o Debian e o Apache 2.2.9

EDIT: Aqui estão os cabeçalhos de exemplo que contêm as várias linhas de cookie de conjunto:

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
    
por Kenny 10.11.2011 / 15:49

2 respostas

2

EDIT: configuração do apache modificada para corresponder aos requisitos de postagem

Primeiro, mesclar cabeçalhos de cookies é uma má ideia. Veja o que o pessoal do Apache tem a dizer sobre isso .

Segundo, vários cabeçalhos de conjunto de cookies são suportados pela especificação de protocolo. Se o verniz não puder lidar com vários cabeçalhos de conjunto de cookies que devem ser considerados um bug e relatados.

Em terceiro lugar, você não pode tornar a regra de verniz dont-cache-this dependente de outro cabeçalho personalizado? como o X-Magento-NoCache que você pode configurar a partir do aplicativo ou do apache? deve ser um biscoito? por exemplo.

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

header add X-Magento-NoCache 1 env=MAGENTO_DONT_CACHE
    
por 10.11.2011 / 16:55
0

Alguém pode encontrar uma resposta melhor, mas você pode descobrir que isso oferece esperança para o futuro ou um bom último recurso se você mesmo quiser criar uma nova versão:

link

    
por 10.11.2011 / 16:47