web-dev-qa-db-ja.com

HTTPプロキシを設定してヘッダーを挿入します

修正したくないクライアントとのHTTPインタラクションをテストする必要があります。テストする必要があるのは、クライアントのリクエストに特定の静的ヘッダーが含まれている場合のサーバーの動作です。

このテストを実行する最も簡単な方法は、すべてのリクエストにヘッダーを挿入するHTTPプロキシをセットアップすることだと考えています。これを設定する最も簡単な方法は何ですか?

45
Logan

開発環境では、ポート80上のApacheをポート8080上のアプリケーションサーバーのプロキシとして構成し、次のApache構成でこのようなことを行います。

NameVirtualHost *
<VirtualHost *>
   <Proxy http://127.0.0.1:8080/*>
      Allow from all
   </Proxy>
   <LocationMatch "/myapp">
      ProxyPass http://127.0.0.1:8080/myapp
      ProxyPassReverse http://127.0.0.1:8080/myapp
      Header add myheader "myvalue"
      RequestHeader set myheader "myvalue"   
   </LocationMatch>
</VirtualHost>

LocationMatch および RequestHeader のドキュメントを参照してください。

これにより、ヘッダーmyheader:myvalueがアプリケーションサーバーに送信されるリクエストに追加されます。

71
Peter Hilton

Fiddler( http://www.fiddler2.com/fiddler2/ )をインストールすることもできます。これはインストールが非常に簡単です(たとえば、Apacheより簡単です)。

起動後、システムプロキシとして登録されます。次に、「ルール」メニューを開き、「ルールのカスタマイズ...」を選択して、リクエストをカスタマイズできるJScriptファイルを開きます。

カスタムヘッダーを追加するには、OnBeforeRequest関数に行を追加するだけです。

oSession.oRequest.headers.Add("MyHeader", "MyValue");
15
Nico

tinyproxy を試してみます。実際、スクリプト言語をそこに埋め込むのが一番いいでしょう... Lua の完璧な仕事のようです。特に mysqlproxy

3
Javier

これには Burp (「Webアプリケーションを攻撃およびテストするためのインタラクティブなHTTP/Sプロキシサーバー」)を使用した同僚がいました。 Fiddler ( "HTTPデバッグプロキシ")を使用することもできます。

2
Kevin Hakanson

http://www.proxomitron.info を使用して、必要なヘッダーなどを設定します。

1
Eduardo

プロキシを使用するのではなく、Firefoxプラグイン "Modify Headers" を使用してヘッダーを挿入します(私の場合は、別の人としてテストできるようにシングルサインオンを使用してログインを偽装します)。

1
Paul Tomblin

システムにRubyがある場合、Sinatraを使用した小さなRubyプロキシはどうですか(Sinatra Gemをインストールしてください)。これは、Apacheをセットアップするよりも簡単です。コードを見つけることができます こちら

0
John Bowers