Cara membalikkan proxy dengan atau tanpa trailing slash


11

Saya memiliki server web Apache yang perlu membalikkan proxy situs. Jadi example.com/test/atau example.com/testtarik dari server web lain yang sama. Saya telah menyiapkan proxy terbalik untuk yang tanpa tanda garis miring seperti ini:

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

Tapi itu tidak bekerja dengan garis miring.

Ada Ide? Saya telah mencoba mengalihkan dari /test/ke /testtidak berhasil.

Terima kasih.

Jawaban:


18

Sudahkah Anda mencoba menulis ulang url?

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

ProxyRequests Off       
ProxyPreserveHost On

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

1

Apa maksudmu itu tidak bekerja dengan garis miring? Apakah itu mengarahkan ke tempat yang salah? Apakah itu memberikan kesalahan 404? Ini adalah apa yang saya gunakan untuk mengatur proxy terbalik dan menyembunyikan sumbernya dari seluruh dunia.

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>

Anda dapat menggunakan ini untuk menguji proxy Anda:

$ curl -I http://localhost:81/guides/top5
HTTP/1.1 301 Moved Permanently
Location: http://localhost:81/guides/top5/
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.