1

Apache ProxyPassを使用して、サーバー(1)から別のサーバー(2)にいくつかのリクエストを渡します。これはほとんどのリクエストで正常に機能しますが、サーバー2がPOSTリクエストを処理してリダイレクトヘッダーを送信すると、これはクライアントに直接渡され、クライアントはサーバー1にリダイレクトを適用して404を取得します。

したがって、私が欲しいのは、サーバー1(ProxyPassを備えたサーバー)がサーバー2のリダイレクトに従い、最終ページをクライアントに返すことです。

これは非常に一般的なシナリオであるに違いないと思いますが、解決策が見つからないようです。curlクライアントに適用するのと同じように、「follow_redirects」フラグのようなものを想像していますが、そのようなものは見つかりませんでした。たぶん私がやろうとしているのはProxyPassの目的ではないのでしょうか?

誰かが私をここで正しい方向に向けることができますか?

ありがとう、クリス

4

2 に答える 2

2

ProxyPassReverse ディレクティブを確認してください。この設定により、Apache はリダイレクトをインターセプトして書き換えることができるため、クライアントはプロキシから離れません。これはプロキシでリダイレクトを処理しませんが、少なくともクライアントはリダイレクトされたリクエストをサーバーに送り返すようになります。

于 2011-06-17T12:24:59.347 に答える
1

Apache Traffic Serverを見つけました。これは Yahoo によって作成され、Apache 財団に提供されたリバース プロキシです。

このドキュメントから:

オリジンサーバーは、リダイレクト応答をブラウザーに送り返し、ブラウザーを別のページにリダイレクトすることがよくあります。たとえば、配信元サーバーが過負荷になっている場合、ブラウザを負荷の低いサーバーにリダイレクトすることがあります。オリジン サーバーは、Web ページが別の場所に移動したときにもリダイレクトします。Traffic Server がリバース プロキシとして設定されている場合、ブラウザーが別のオリジン サーバーではなく Traffic Server にリダイレクトされるように、オリジン サーバーからのリダイレクトを再アドレス指定する必要があります。

まだ試していませんが、Debian、Ubuntu、CentOS 用のパッケージがあります。

于 2012-06-22T11:50:56.150 に答える