Erro de correção 403 com cache de verniz

1

Eu tenho executado o verniz (3.0.1) na frente do Apache e durante um pico de tráfego dois dias atrás todos os visitantes do site começaram a receber um erro 403. De Googling sobre eu encontrei um segmento que diz que isso é causado pelo IP do Varnish sendo passado para o Apache em vez do usuário que está fazendo a solicitação. (consulte link )

A sugestão era "Você poderia tentar passar o ip como x-forwarded-for" ... não tenho certeza de qual IP está sendo chamado (do cliente?) ou, na verdade, como eu faria isso . Alguém já viu isso antes ou sabe como conseguir o que está sendo sugerido?

    
por zcourts 04.10.2011 / 13:29

1 resposta

1

É provável que o seu back-end esteja apenas retornando 403 uma vez, mas o Varnish está armazenando-o em cache para solicitações futuras. Sim, o Varnish armazenará em cache mesmo as coisas que você não quer que ele armazene em cache, como páginas de erro, se você não configurar a VCL para fazer o contrário.

Eu não posso realmente comentar se o seu back-end é limitador de taxa ou não, mas você provavelmente deve tentar descobrir isso antes de começar a mexer nos cabeçalhos do Varnish para fornecer uma solução para um problema que você ainda não descobriu ainda.

No entanto, para responder à sua pergunta, você pode definir o cabeçalho x-forwarded-for em Varnish da seguinte forma:

em vlc_recv

req.http.x-forwarded-for = client.ip
    
por 05.10.2011 / 01:22