Come invertire il proxy con o senza barra finale


11

Ho un web server Apache che deve invertire il proxy di un sito. Quindi example.com/test/o example.com/testestrarre dallo stesso altro server web. Ho impostato un proxy inverso per quello senza la barra finale in questo modo:

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

Ma non funziona con una barra finale.

Qualche idea? Ho provato a reindirizzare da /test/a /testsenza fortuna.

Grazie.

Risposte:


18

Hai provato a riscrivere l'URL?

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

ProxyRequests Off       
ProxyPreserveHost On

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

1

Cosa vuol dire che non funziona con una barra finale? Reindirizza nel posto sbagliato? Fornisce un errore 404? Questo è ciò che ho usato per impostare un proxy inverso e nascondere la fonte dal resto del mondo.

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>

Puoi usarlo per testare il tuo proxy:

$ curl -I http://localhost:81/guides/top5
HTTP/1.1 301 Moved Permanently
Location: http://localhost:81/guides/top5/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.