HTTPプロキシを設定してヘッダーを挿入する
-
03-07-2019 - |
質問
クライアントとのHTTPインタラクションをテストする必要があります。修正したくないです。テストする必要があるのは、クライアントのリクエストに特定の静的ヘッダーが含まれている場合のサーバーの動作です。
このテストを実行する最も簡単な方法は、すべてのリクエストにヘッダーを挿入するHTTPプロキシをセットアップすることだと考えています。これを設定する最も簡単な方法は何ですか?
解決
次のApache構成を使用して、ポート80のApacheをポート8080のアプリケーションサーバーのプロキシとして構成することにより、開発環境でこのようなことを行います。
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 が追加されます。
他のヒント
Fiddlerをインストールすることもできます( http://www.fiddler2.com/fiddler2/ )これはインストールが非常に簡単です(たとえばApacheより簡単です)。
起動後、システムプロキシとして登録されます。次に、「ルール」を開きます。メニューから[ルールのカスタマイズ...]を選択します。リクエストをカスタマイズできるJScriptファイルを開きます。
カスタムヘッダーを追加するには、 OnBeforeRequest
関数に次の行を追加します。
oSession.oRequest.headers.Add("MyHeader", "MyValue");
tinyproxy を試してみました。実際には、そこにスクリプト言語を埋め込むのが最善です... Lua 、特に mysqlproxy
の動作を確認した後http://www.proxomitron.info を使用して、必要なヘッダーなどを設定します。
プロキシを使用するのではなく、Firefoxプラグインを使用しています &quot;ヘッダーの変更&quot; ヘッダーを挿入します(私の場合は、シングルサインオンを使用してログインを偽装し、別のユーザーとしてテストできるようにします)。
システムにルビーがある場合、Sinatraを使用した小さなRubyプロキシはどうでしょう(Sinatra Gemをインストールしてください)。これは、Apacheをセットアップするよりも簡単です。コードはこちら にあります。 p>