Como reverter o proxy com ou sem barra final


11

Eu tenho um servidor web Apache que precisa reverter o proxy de um site. Então, example.com/test/ou example.com/testpuxe do mesmo outro servidor da web. Eu configurei um proxy reverso para aquele sem a barra à direita assim:

ProxyPass /test http://othersite.com/test
ProxyPassReverse /test http://othersite.com/test

Mas não funciona com uma barra final.

Alguma ideia? Eu tentei redirecionar de /test/para /testsem sorte.

Obrigado.

Respostas:


18

Você tentou reescrever o URL?

RewriteEngine on 
RewriteRule ^/test$ /test/ [R]

ProxyRequests Off       
ProxyPreserveHost On

ProxyPass    /test/   http://othersite.com/test/
ProxyPassReverse /test/  http://othersite.com/test/

1

Como assim, ele não funciona com uma barra final? Ele redireciona para o lugar errado? Isso dá um erro 404? Isto é o que eu usei para configurar um proxy reverso e ocultar a fonte do resto do mundo.

ProxyRequests off
<Location /guides>
  ProxyPass http://blog.domain.com
  ProxyPassReverse http://blog.domain.com
  ProxyPassReverse /
  ProxyHTMLEnable On
  ProxyHTMLURLMap / /guides
  ProxyHTMLURLMap http://blogs.domain.com /guides
  RequestHeader unset Accept-Encoding
  RequestHeader set MySpecialHeader secretkey
  #LogLevel proxy:debug
</Location>

Você pode usar isso para testar seu proxy:

$ curl -I http://localhost:81/guides/top5
HTTP/1.1 301 Moved Permanently
Location: http://localhost:81/guides/top5/
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.