私は基本的にリモートURL(基本的にはREST API)へのHTTP/HTTPS要求と応答を盗聴したいと思います。私が望むものを手に入れるためのツールがたくさんあると理解していますが、Javaでこれを行うためのユーティリティを書く必要があります(これは開発中のアプリケーションによって使用されるためです)。Undertow - REST APIへのHTTP/HTTPSトラフィックを監視するリバースプロキシの設定方法
私がしたいことは、プロキシ(またはリバースプロキシー - ここでは私の理解が限られています)をセットアップすることです。私はすべてのリクエストを実際のAPIにルーティングします。このプロキシは、リクエスト本体(POSTまたはPUTの場合)をキャプチャして、そのリクエストを実際のAPIに転送し、レスポンスをキャプチャしてクライアントに返す必要があります。
私はそのLoadBalancingProxyClient
プロキシクライアントを使用してリバースプロキシを作成して実行することができたその使用、アンダートウに出くわしました。しかし、私はここにいくつか質問があります。
私のAPIがhttp://myrealapplication.com/rest/operation1
で、JSONをこのAPIにPOSTしたいとします。次のように私はプロキシサーバーを作成している
:
- マイリバースプロキシは事実上、ソートのとなっています:だから私は私のリバースプロキシサーバを起動したら
LoadBalancingProxyClient loadBalancer = new LoadBalancingProxyClient(); loadBalancer.addHost(new URI("http://myrealapplication.com")); loadBalancer.setConnectionsPerThread(20); Undertow reverseProxy = Undertow.builder() .addHttpListener(8990, "localhost") .setIoThreads(4) .setHandler(Handlers.requestDump(new ProxyHandler(loadBalancer, 3000, null))) .build(); reverseProxy.start();
、二つのことがあります私の実際のAPIのエイリアスですが、このレイヤーでリクエストとレスポンスをどのようにキャプチャしますか?
- 私のリクエストがこのプロキシを通過するためには、URLを
http://localhost:8990/rest/operation1
に変更する必要があります。受け入れることができない可能性があります。localhost:8990
をとして設定することですを入力し、私のURLをhttp://myrealapplication.com/rest/operation1
としておくことで、実際のAPIからの応答であるためエンドクライアントを探します。
これを達成するために私は使用できますか?あるいは私のプログラムで使用できるJava APIを公開する他のツールがありますか?
助けてください!
おかげで、 スリラム
ありがとうございますが、リクエストとレスポンスをどのようにキャプチャしますか? – sriramsridharan