So kehren Sie den Proxy mit oder ohne abschließenden Schrägstrich um


11

Ich habe einen Apache-Webserver, der den Proxy einer Site umkehren muss. Also example.com/test/oder example.com/testvom selben anderen Webserver ziehen. Ich habe einen Reverse-Proxy für den ohne den abschließenden Schrägstrich wie folgt eingerichtet:

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

Aber es funktioniert nicht mit einem nachgestellten Schrägstrich.

Irgendwelche Ideen? Ich habe versucht /test/, /testohne Glück von nach umzuleiten .

Vielen Dank.

Antworten:


18

Haben Sie versucht, die URL neu zu schreiben?

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

ProxyRequests Off       
ProxyPreserveHost On

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

1

Was meinst du damit, dass es mit einem abschließenden Schrägstrich nicht funktioniert? Leitet es an den falschen Ort um? Gibt es einen 404-Fehler? Dies ist, was ich verwendet habe, um einen Reverse-Proxy einzurichten und die Quelle vor dem Rest der Welt zu verbergen.

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>

Sie können dies verwenden, um Ihren Proxy zu testen:

$ curl -I http://localhost:81/guides/top5
HTTP/1.1 301 Moved Permanently
Location: http://localhost:81/guides/top5/
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.