2012-03-02 4 views
1

httpヘッダーを変更するスキルが見つかりましたが、必要なものではありません。 がhttpヘッダーをに変更し、が宛先WebアプリケーションにをリダイレクトするWebアプリケーションを作成しています。クロスアプリケーションが問題です。HTTPヘッダーを変更して他のWebアプリケーション(クロスアプリケーション)にリダイレクト

私のソリューション:

org.apache.catalina.Valve.invoke(Request, Response)でヘッダーを変更するために、Tomcatの中Valveを作成します。リクエストヘッダーは、Webアプリケーションの前に変更されます。

もっと良いアイデアですか?ありがとう!

答えて

1

クライアントがそれを認識しないように「リダイレクトする」という意味ですか?逆プロキシのように聞こえる。 この場合、HttpServletとそのservice(HttpServletRequest req, HttpServletResponse resp)メソッドの書き換え要求パラメータに書き込んで、(たとえばHttpClientを使用して)宛先サービスに要求を実行できます。これは、ApacheのCatalinaをベースにしていないため、プラットフォームに依存しないソリューションです。しかし、これらのソリューション(サーブレット、バルブ、おそらく他のすべて)にはいくつかの欠点があります。オンザフライでリクエストをプロキシしたり変更したりするのは、特にストリーミングやエンコーディング(コンテンツを変更する場合など)に関しては、多くのチュートリアルで説明されているほど単純ではありません。

+0

サービスでHttpClient APIを呼び出すことを意味しますか(HttpServletRequest req、HttpServletResponse resp)? –

+1

最も簡単なリバースプロキシの形式 - はい。より複雑なシナリオが含まれていれば、おそらく別のプロキシプロジェクトに発展するでしょう。 –

関連する問題