O cache do Apache não funciona usando servidores da web com balanceamento de carga

1

Acabei de usar o haproxy (modo tcp por causa do SSL) para balancear a carga de meu tráfego entre dois servidores da web.

Quando eu estava usando um único servidor, depois que as imagens foram baixadas pela primeira vez, o apache começou a exibir cabeçalhos "304 não modificados". Mas agora eu uso dois servidores da web e meu navegador faz o download de imagens novamente toda vez que eu estou conectado ao outro servidor web.

Todas as imagens nos dois servidores têm a mesma data de modificação.

    
por koen 04.06.2011 / 15:01

1 resposta

2

Você está provavelmente se deparando com problemas de ETag . O ETag padrão do Apache para arquivos estáticos é calculado usando o inode # do sistema de arquivos , então se você tiver dois servidores diferentes usando duas unidades diferentes, os arquivos serão marcados de forma diferente.

Adicione em cada servidor algo como

FileETag MTime Size

no nível global para excluir o inode # do cálculo. Então, certifique-se de que seus relógios estejam sincronizados e que os registros de data e hora em todos os arquivos sejam idênticos e você deve estar configurado.

    
por 04.06.2011 / 15:32