Pergunta

Tenho o Varnish instalado com a configuração padrão em meu servidor web Apache.Listagem do Apache para a porta 8080 e listagem do Varnish para 80.

Tenho poucos arquivos para download no site com os tamanhos 100MB, 500MB e 1GB

O 1GB não está funcionando, ao clicar nele aparecerá página indisponível ou conexão fechada pelo servidor.Os outros dois estão funcionando bem, mas não tenho certeza se esta é a maneira correta de baixá-los.

Como faço para que o verniz ignore esses arquivos e os obtenha diretamente do servidor web?

Obrigado.

Foi útil?

Solução

Isso poderia ser feito com verificação de Content-Length na resposta de back-end, e se for maior que algum tamanho, marque-o com alguma marca e restart solicitar transação

Exemplo, arquivos com Content-Length >=10.000.00 devem ser canalizados:

sub vcl_fetch {
..
  if ( beresp.http.Content-Length ~ "[0-9]{8,}" ) {
     set req.http.x-pipe-mark = "1";
     return(restart);
  }
..
}

Em seguida, voltamos a verificar o recebimento e a análise da solicitação.Aqui podemos verificar nossa marca e atuar pipe

sub vcl_recv {
..
  if (req.http.x-pipe-mark && req.restarts > 0) {
    return(pipe);
  }
..
}

Outras dicas

In varnish 4, vcl_fetch should be replaced with vcl_backend_response, see https://www.varnish-cache.org/docs/trunk/whats-new/upgrade-4.0.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top