2025年2月1日

iOSからMacの開発サーバーにlocalhostでアクセス

開発時に Mac でローカルサーバーを立ち上げて、モバイルデバイスで動作確認したい場合がある。

サーバーを 0.0.0.0 で立ち上げると、同一 LAN 内であればプライベート IP アドレス(192.168.0.0/16)を使用してサーバーにアクセスできるけれど、 セキュリティ設定などで、localhost のみが許可されていて、プライベート IP アドレスを使うことができない場合がある。

このような場合、iOS デバイスと Mac 間で SSH ポートフォワーディングを確立することで、 iOS デバイスから直接 localhost のアドレスを使って Mac のローカル環境にアクセスできるようになる。

接続手順

1. Mac の共有設定から「リモートログイン」をオンに変更

システム設定から共有設定を開き、「リモートログイン」をオンに変更する。 これにより、Mac に SSH を通じて接続できる。

Mac の共有設定

2. iOS デバイスに WebSSH (SSH クライアント) をインストール

App Store から WebSSH をインストールする。 このアプリを使うと、VPN-Over-SSH 機能により、 Chrome や Safari などの他のアプリで、ポートフォワーディングの設定を継続して利用できる。

WebSSH のインストール

3. ポートフォワーディングの設定

WebSSH を起動し、以下の手順でポートフォワーディングを設定する。

  1. Mac の共有設定で確認した以下の情報を入力
    • ホスト名
    • ユーザー名
    • パスワード
    • プライベート IP アドレス
  2. Port Forwarding の設定
    • 例:Mac 側で localhost:3000 を使用している場合は 3000:localhost:3000 と入力
  3. VPN-Over-SSH を有効化
    • この設定により、他のアプリ使用時も SSH トンネルが維持されます
WebSSH のポートフォワーディング設定

4. ポートフォワーディングの確認

ポートフォワーディングの設定が完了したら、iOS デバイスで WebSSH を開き、 ポートフォワーディングの設定が反映されているか確認。

設定の確認