Reverse Proxy で HTTP プロキシ非対応アプリをキャプチャする方法

Reverse Proxy で HTTP プロキシ非対応アプリをキャプチャする方法 のカバー画像

このブログでは、Reverse Proxy ツールを使って、HTTP プロキシに対応していないアプリやクライアントの HTTP/HTTPS 通信をキャプチャする方法を紹介します。

Reverse Proxy はどんな問題を解決するのか?

アプリやクライアントが標準で HTTP プロキシに対応していない場合、Proxyman では通信をキャプチャできません。

次のリストは、HTTP プロキシに対応していない、または設定が必要なライブラリの例です。

  • cURL
  • NodeJS の fetch または axios
  • Python ライブラリの request
  • Android TV ボックス
  • 組み込みデバイス
  • 古い C 言語のネットワークライブラリ
  • ...

Reverse Proxy を使えば、こうした通信もキャプチャできます。

使い方

前提条件

  • アプリまたはクライアントが HTTP プロキシに対応していない
  • Proxyman でアプリまたはクライアントの通信をキャプチャできない
  • アプリまたはクライアントのソースコードにアクセスできる

デモとして、cURL のコマンドラインを使用します。

デフォルトでは cURL はプロキシを使用しないため、Proxyman では通信をキャプチャできません。

ここでは cURL をデモ用に使っています。Reverse Proxy ツールを使わずに cURL にプロキシを使わせたい場合は、--proxy localhost:9090 フラグを指定できます。

Proxyman で HTTP 通信をキャプチャできない
Proxyman で HTTP 通信をキャプチャできない
  1. サーバーが https://producthunt.com であると仮定します
  2. Proxyman を開き、Tools メニュー -> Reverse Proxy を選択します
  3. 次の情報を入力して、新しいルールを作成します
  • Name: Map to Production
  • Local Port: 10000
  • Remote Host: <your real server>
  • Remote Port: 443 (HTTPS)
Reverse Proxy ルールの設定
Reverse Proxy ルールの設定
  1. 保存します
  2. アプリまたはクライアントのソースコードを開き、Base URL を localhost:10000 に変更します
  3. アプリまたはクライアントを起動します
  4. Proxyman で通信を確認します
HTTP プロキシに対応していないアプリの通信をキャプチャ
HTTP プロキシに対応していないアプリの通信をキャプチャ

ご覧のとおり、--proxy localhost:9090 フラグを使わなくても、Proxyman は cURL の通信をキャプチャできます。

  • HTTPS を使う場合は、https://localhost:10000 を使用してください
  • HTTP を使う場合は、http://localhost:10000 を使用してください

まとめ

アプリによっては標準で HTTP プロキシに対応していないため、Proxyman では通信をキャプチャできない場合があります。しかし、Reverse Proxy を使うと、そのような通信もキャプチャできるようになります。

クライアントが対応している場合は、まず明示的なプロキシ設定か、Proxyman の Automatic Setup を試してください。クライアントの Base URL は変更できるがプロキシは設定できない場合に、Reverse Proxy を選びます。ローカルポートが空いていることを確認してください。また、Preserve Host は、リモートサーバーが元の Host ヘッダーを必要とする場合にのみ使用してください。Host の値が一致しないと、サーバーがリクエストを拒否することがあります。


この記事が、開発の整理に役立てば幸いです。楽しいコーディングを! 👨‍🚀

Proxyman は、iOS デバイス、iOS シミュレータ、Android デバイス上のアプリやドメインの HTTP(S) 通信をキャプチャして検査できる、高性能な macOS アプリです。

入手はこちら:https://proxyman.com/

Noah Tran
Noah Tran

2026年7月19日 に改訂。 Reverse Proxy の選び方と、ポートおよび Host ヘッダーの確認方法に関する説明を追加しました。

プロキシ設定のないクライアントの通信をキャプチャ

Proxyman でローカルの Reverse Proxy を作成し、クライアントの Base URL をそのポートに向けます。

Proxyman Reverse Proxy を試す