2013-06-14 24 views
20

リモートサイトに接続するプロキシをローカルに設定する方法を探しています。私はシステムの中に何かをインストールしたくありません。 1つの設定ファイルでもなく、1つのコマンドライン呼び出しで呼び出すことができれば、それはすばらしいことです。最も簡単なリバースプロキシ

私の開発しているローカルアプリケーションと、他の誰かが提供しHTTPSを使用しているリモートサーバとの間のトラフィックを盗聴することを目的としています。

mkdir simplest-proxy; cd simplest-proxy; bundle init 
echo "gem 'simplest-proxy'" >> Gemfile; bundle --path vendor/bundle 
bundle exec bin/simplest-proxy -p 8080 https://remote.site.example.com/ 

または

virtualenv simplest-proxy; cd simplest-proxy 
bin/easy_install simplest-proxy 
bin/simplest-proxy -p 8080 https://remote.site.example.com/ 

または

mkdir simplest-proxy; cd simplest-proxy 
npm install simplest-proxy 
node_modules/.bin/simplest-proxy -p 8080 https://remote.site.example.com/ 
:私はちょうどの線に沿って何かをすることができるように

好ましくは、それは、ルビー、Pythonやノードパッケージになります

これは、私のアプリがlocalhost:8080に接続することを許可し、要求を転送します(そして、Hostヘッダーなど)をリモートサイトに送信します。私はWireSharkでloを見て、何が起こっているのかを知ることができます。

私はpypi、rubygems、およびnpmですばやく見てきましたが、これまでに見つかったことはどちらかというと非常に有望だったproxyletでした。 dj-revproxy)、または書き直すのではなく、正しいHostnode-reverse-proxy)で呼び出すことを期待してください。

更新:今はProxyPass/ProxyPassReverseという設定のApacheを使用していますが、大量の過度の使用を感じ、設定ファイルで遊ぶ必要があります。

更新:適用されない別の解決策は、リモートサイトをエミュレートするのではなく、実際のHTTPプロキシです。リモートサイトはHTTPSサイトなので、私のアプリはプロキシ内でCONNECTを行い、何も得られません。

+0

あなたはシオマネキやチャールズを見たことがありますか? – pguardiario

+0

はい。チャールズは私が見る限り、HTTPSへの逆プロキシはできませんでした。フィドラーは、プロキシを介して透過的に物事を送信するためにブラウザに入れたWindowsのみのようなものでした。しかし、今私はmitmproxyを見つけ、それを答えとして書きます。 – clacke

+0

これはあなたが探しているリバースプロキシではなく、中間のプロキシの男性です。そして、チャールズはそのように行動できます。 – pguardiario

答えて

24

Found http://mitmproxy.org/

私のユースケースはで覆われている:

mitmproxy -p 8080 -P https://remote.site.example.com/ 

しかし、より多くのがあります。また、完了したすべてのリクエストを表示するためのncurses UIを提供し、それらを検査することもできます。これはWireSharkを不要にします。

質問に示すように、ディストリビューションのパッケージインストーラまたはeasy_installをしてインストールします。

virtualenv mitmproxy; cd mitmproxy 
bin/easy_install mitmproxy 
bin/mitmproxy -p 8080 -P https://remote.site.example.com/ 
+0

http://alternativeto.net/software/charles/?platform=linux経由でmitmproxyが見つかりました。そのサイトを愛してください。 – clacke

+2

私は 'pip install mitmproxy'とeasy_installをお勧めします。 –

+0

特にvirtualenvでは特に重要ではありませんが、確かに同様に動作します。 – clacke

関連する問題