As directivas Proxypass precisam de uma Directiva ProxyPassReverse?

19

Todas as Diretivas ProxyPass precisam de uma Diretiva ProxyPassReverse?

ProxyPass / http://foo.example.com:8080/  
ProxyPassReverse / http://www.example.com/

Eu vi este snippet e entendo que todo o tráfego proveniente de foo.example.com é proxied para foo.example.com:8080. O que a segunda linha faz?

    
por theTuxRacer 27.01.2011 / 11:08

1 resposta

15

Esta diretiva permite que o Apache ajuste o URL nos cabeçalhos Location, Content-Location e URI no HTTP respostas de redirecionamento .

Por exemplo, suponha que o servidor local tenha o endereço link ; então

ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/

não só fará com que uma solicitação local do link seja convertida internamente em uma solicitação de proxy para link (a funcionalidade ProxyPass fornece aqui). Ele também cuida dos redirecionamentos que o servidor backend.example.com envia: quando o link é redirecionado por ele para link O Apache ajusta isso para link antes de encaminhar o HTTP redirecionar a resposta para o cliente. Observe que o nome do host usado para construir a URL é escolhido em relação à configuração da diretiva UseCanonicalName.

    
por 27.01.2011 / 11:32