末尾のスラッシュの有無にかかわらずプロキシをリバースする方法


11

サイトをリバースプロキシする必要があるApache Webサーバーがあります。だから、example.com/test/またはexample.com/test同じ他のWebサーバからのプル。次のように、スラッシュなしのリバースプロキシをセットアップしました。

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

ただし、末尾のスラッシュでは機能しません。

何か案は?から/test/にリダイレクトしようとしました/testが、運がありません。

ありがとう。

回答:


18

URLを書き換えようとしましたか?

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

ProxyRequests Off       
ProxyPreserveHost On

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

1

末尾のスラッシュでは機能しないとはどういう意味ですか?間違った場所にリダイレクトしますか?404エラーが発生しますか?これは、リバースプロキシを設定し、ソースを他の世界から隠すために使用したものです。

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>

これを使用してプロキシをテストできます。

$ curl -I http://localhost:81/guides/top5
HTTP/1.1 301 Moved Permanently
Location: http://localhost:81/guides/top5/
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.