Varnish como proxy reverso do servidor Apache2, problema de redirecionamento de porta

Varnish como proxy reverso do servidor Apache2, problema de redirecionamento de porta

Tenho procurado e tem muita gente com o mesmo problema, mas não tem uma solução clara (ou pelo menos não encontrei).

Estou usando o Varnish-Cache (3.0) como proxy reverso escutando na porta 80 para um servidor web Apache 2 escutando na porta 88.

Se eu solicitar o seguinte URL, tudo funcionará bem:http://servidor/coisas/

Mas, se eu solicitar isso:http://servidor/coisas(sem o "/" no final), o navegador é redirecionado para a porta do backend Apache (http://servidor:88/coisas/).

Como posso configurar o comportamento do Apache 2 nessa situação?

Desde já, obrigado!

Responder1

Verifique a diretiva UseCanonicalName em httpd.conf

#
# UseCanonicalName: Determines how Apache constructs self-referencing
# URLs and the SERVER_NAME and SERVER_PORT variables.
# When set "Off", Apache will use the Hostname and Port supplied
# by the client.  When set "On", Apache will use the value of the
# ServerName directive.
#
UseCanonicalName Off

Você também pode removê-lo com verniz, tente isto:

sub vcl_fetch { 
   if (beresp.status == 301 || beresp.status == 302) 
   { 
      set beresp.http.Location = regsub(beresp.http.Location, "^(\w+://[^/]+):\d+", "\1"); 
   } 
} 

informação relacionada