メインコンテンツまでスキップ

Proxyman に localhost サーバーのリクエストが表示されない

localhost:3000 へのリクエストが Proxyman に表示されませんか? Automatic Setup で Google Chrome から localhost の通信をキャプチャするか、/etc/hosts または localhost.proxyman.io を使用してください。

1. 問題​

ローカルで NodeJS、Ruby、Python のバックエンドを http://localhost:3000 で開発していますが、Google Chrome や Safari で http://localhost:3000 にアクセスしても、Proxyman に通信が表示されません。

なぜこうなるのでしょうか? macOS では、デフォルトで localhost へのリクエストはシステムの HTTP プロキシを経由しません。そのため、Proxyman は通信を記録しません。

Google Chrome で localhost:4000 を開いていても、Proxyman のリクエスト一覧は空のまま

localhost の通信は、デフォルトでは Proxyman に表示されません

2. 解決方法​

2.1 ✅ v6.3.0 の新しい解決方法​

Proxyman macOS v6.3.0 以降では、次のことができます:

操作方法​

  1. Proxyman で Setup メニュー -> Automatic Setup… を開き、Web Browsers セクションの Google Chrome… をクリックします。
  2. 新しい Google Chrome のウィンドウが開きます。
  3. 完了です。http://localhost:3000 にアクセスすると、Proxyman がキャプチャします。
Google Chrome からの localhost:3000 と localhost:4000 のリクエストを Proxyman がキャプチャしている様子

Google Chrome から localhost の通信をキャプチャ

2.2 従来の解決方法​

解決方法は 2 つあります。どちらか一方の方法に従ってください。

解決方法 1:/etc/hosts で localhost をドメイン名に対応付ける​

  1. Vim または VS Code で /etc/hosts ファイルを開きます。
$ sudo vim /etc/hosts

2. IPv4 と IPv6 の両方にドメイン名を追加します(proxyman.debug は任意の名前に置き換えてかまいません)。

127.0.0.1 proxyman.debug
::1 proxyman.debug
VS Code で開いた /etc/hosts ファイル。proxyman.debug が 127.0.0.1 と ::1 に対応付けられている

/etc/hosts に proxyman.debug を追加

3. sudo 権限でファイルを保存します。

4. localhost サーバーに http://proxyman.debug:3000 でアクセスします(3000 は localhost のポート番号に置き換えてください)。

5. デバッグを楽しんでください!

備考

サフィックスとして local を使う場合(例:proxyman.local)は、Bypass Proxy List から *.local を削除してください(削除方法)。

解決方法 2:localhost の代わりに localhost.proxyman.io を使う​

Proxyman は Cloudflare を使用し、localhost.proxyman.io の DNS を 127.0.0.1(localhost)に設定しています。そのため、Proxyman は通常どおりローカルの通信をキャプチャできます ✅

次に例を示します:

旧 URL新 URL
旧 URL新 URL
localhost:3000localhost.proxyman.io:3000
localhost:8080localhost.proxyman.io:8080
......