幸福なプログラマ

プログラマは幸福になれる。

iPhoneで開発サーバーにのみ繋いでインターネットには接続させない方法

背景

自社サーバーには繋がっているけど他社のAPIサーバーには繋がっていない状況を作り出してテストしたい、なんてことがありました。

解決方法

結論から書くと、開発マシンにプロキシサーバーを立てて、iPhoneからそのプロキシサーバーを経由してネットワークアクセスさせました。 ※開発マシンはmacの想定

手順

  1. Squid をインストールする
    • プロキシサーバー立てることができるソフト
    • brewで簡単インストール brew install squid
    • squid.conf っていう設定ファイルあるけど、今回の用途だとデフォルトで問題なし
    • brew services start squid で起動
  2. iPadでプロキシ経由するよう設定
    • wifi設定から設定可能、調べればすぐわかる
  3. 各々、アプリ内のAPI接続先を開発マシン上のサーバーに設定しておく

おしまい。

これで開発マシン上で公開しているAPIサーバーには繋がるけど、インターネットには繋がらない状況を作り出せます。

iPhoneって書いたけど、iPadでもandroidでも一緒だと思う。