Jak odwrócić proxy z ukośnikiem końcowym lub bez


11

Mam serwer WWW Apache, który musi odwracać proxy strony. Więc example.com/test/lub example.com/testściągnij z tego samego innego serwera. Mam skonfigurowane odwrotne proxy dla tego bez końcowego ukośnika:

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

Ale to nie działa z końcowym ukośnikiem.

Jakieś pomysły? Próbowałem przekierować z /test/na /testbez powodzenia.

Dzięki.

Odpowiedzi:


18

Czy próbowałeś przepisać adres URL?

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

ProxyRequests Off       
ProxyPreserveHost On

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

1

Co to znaczy, że nie działa z końcowym ukośnikiem? Czy przekierowuje do niewłaściwego miejsca? Czy daje błąd 404? Właśnie tego użyłem, aby skonfigurować odwrotne proxy i ukryć źródło przed resztą świata.

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>

Możesz użyć tego do przetestowania swojego proxy:

$ curl -I http://localhost:81/guides/top5
HTTP/1.1 301 Moved Permanently
Location: http://localhost:81/guides/top5/
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.