テスト用に API エンドポイントを本番から localhost へ切り替える

テスト用に API エンドポイントを本番から localhost へ切り替える のカバー画像

このチュートリアルの最後には、次のことができるようになります:

  • Mac に Proxyman をセットアップする
  • ブラウザのリクエスト/レスポンスをキャプチャする
  • ✅ 本番環境から localhost 環境へマップする

なぜ API エンドポイントを本番環境からローカル環境に切り替える必要があるのか?

開発者や QA であれば、API エンドポイントを本番環境でテストすることは珍しくありません。しかし、新しい変更を加えたコードを確かめるために、ローカル環境の API エンドポイントをテストしたい場面もあります。

前提条件

始める前に、Mac に Proxyman をインストールし、Mac で Proxyman の証明書を信頼しておいてください。

Proxyman を初めて使う方は、macOS 向けの入門ガイドに従って Mac をセットアップしてください。

最後に、ブラウザで www.producthunt.com などの任意のウェブサイトを開き、通信をキャプチャしてみてください。これで Proxyman は、ブラウザからの HTTPS 通信をキャプチャして復号できるようになります。

Proxyman で HTTPS 通信をキャプチャして復号しているところ
Proxyman で HTTPS 通信をキャプチャして復号しているところ

シナリオ 1:本番環境から localhost 環境へ切り替える

たとえば、API エンドポイントが本番環境の https://httpbin.org でホストされているとします。ローカルの HTTPBin サーバー http://localhost:8080 を使って、localhost 環境でウェブサイトをテストしたいとします。Proxyman の Map Remote ツールを使えば、API エンドポイントを本番環境から localhost 環境へ切り替えられます。

例えば、次のようになります:

やり方を見ていきましょう。

ステップ 1:本番環境の HTTPS 通信をキャプチャする

ブラウザで https://httpbin.org/get?id=123 にアクセスし、通信をキャプチャしてください。この時点で、Proxyman がブラウザからの HTTPS 通信をキャプチャして復号できていることを確認してください。

Proxyman で HTTPS 通信をキャプチャして復号しているところ
Proxyman で HTTPS 通信をキャプチャして復号しているところ

できていない場合は、Proxyman で SSL/TLS Interception を有効にしてください。

SSL/TLS Interception を有効にする
SSL/TLS Interception を有効にする

その後、リクエストをもう一度送信してください。

ステップ 2:ローカルの HTTPBin サーバーを準備する

NodeJS や Python で作成した HTTPBin サーバーでも構いませんが、このチュートリアルでは HTTPBin をローカルの HTTPBin サーバーとして使用します。

HTTPBin サーバーを localhost:8080 で起動しましょう。

docker run -p 8080:80 kennethreitz/httpbin

Docker がインストールされていない場合は、こちらからインストールしてください。

HTTPBin サーバーが localhost:8080 で動作していることを確認してください。

curl http://localhost:8080/get?id=123

HTTPBin サーバーからのレスポンスが表示されれば、localhost:8080 で HTTPBin サーバーが動作しています。

localhost:8080 で HTTPBin サーバーが動作しているところ
localhost:8080 で HTTPBin サーバーが動作しているところ

ステップ 3:本番環境から localhost 環境へマップする

ステップ 1 のリクエストを右クリックし、Tools → Map Remote を選択します。次の設定を使用してください:

Map Rule

  • Name:Production から localhost への Map
  • Rule:https://httpbin.org/*
  • Method で「ANY」を選択し、「Including subpath」チェックボックスをオンにします

Map To

  • Protocol:http
  • host:localhost
  • port:8080
本番から localhost 環境へのマップ
本番から localhost 環境へのマップ

このルールを作成すると、https://httpbin.org/* へのすべてのリクエストは http://localhost:8080/* にマップされ、ローカルの HTTPBin サーバーに送信されます。

ステップ 4:API エンドポイントをテストする

ブラウザで https://httpbin.org/get?id=123 に再度アクセスしてください。ローカルの HTTPBin サーバーからのレスポンスが表示されます。

リクエストにルールが適用されている様子
リクエストにルールが適用されている様子

Summary タブ → Debugging Tools セクションを開くと、リクエストにどのルールが適用され、どのようにマップされたかを確認できます。

ローカルの HTTPBin サーバーからのレスポンス
ローカルの HTTPBin サーバーからのレスポンス

まとめ

Map Remote ツールは、コードを変更せずに API エンドポイントをテストするのに役立ちます。API エンドポイントを、本番環境から localhost 環境へその場で切り替えられます。

本番環境へのすべてのリクエストをマップするのではなく、まずはホストとパスを絞ったルールから始めてください。特に複数のツールを有効にしている場合は、Summary タブで、どのルールが呼び出しを変更したかを確認してください。ローカルでのテストが終わったら、ルールをオフにしてください。そうしないと、後のセッションで本番環境向けに見える通信が、古いローカルサーバーに黙って送られてしまうおそれがあります。

次のステップ

Noah Tran
Noah Tran

2026年7月18日 に改訂。 関係のないベータ版のリンクを削除し、ルールの適用範囲と後片付けに関する注意点を追加しました。

本番の URL でローカル API をテストする

Proxyman で Map Remote のルールを作成し、必要なホストとパスだけをローカルサーバーにルーティングします。

Map Remote を試す