コンピューターで127.0.0.1:3000のアプリを実行しています
同じネットワークに接続されたiPhoneからそのアプリにアクセスしたいと思います。私は以前にこれを行ったことがありますが、それをどのように行ったかについては空白にしています。何か案は?
まず、ウェブサーバーを実行しているマシンのIPアドレスまたは名前を確認する必要があります。手順はLinuxマシンでも同様ですが、投稿にmacosx
のタグを付けたため、MacでWebサーバーを実行していると想定しています。だから、あなたのMacで:
Terminal.app
を開きます。 Applications->Utilities
の下にあります。ifconfig
を実行します。これにより、マシン上のすべてのネットワークインターフェイスが表示されます。それらの1つは、マシンがアクティブに接続されているネットワークです。 Macが有線接続の場合、en0
になるはずです。 inet
の後のアドレスを書き留めてください。これは、マシンが使用するアドレスです。nc -v 192.168.10.1 3000
。を使用して、サーバーからそのアドレスに接続できることを確認します。Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
のようなメッセージが表示されます。ctrl-C
を押してncセッションを終了します。サーバーの実際のアドレスでアプリケーションに接続できない場合は、アプリケーションがそのアドレスをリッスンしていないことを意味します。アプリケーションの構成を変更してその動作を変更する方法を調査する必要があります。実行しているアプリケーションがわからないので、そのための良いアイデアを提供することはできません。
(ターミナルプロンプトで)hostname
を使用してMacの名前を見つけ、URLで使用します。例えば。 http://Tonys-iMac.local:3000 /
何らかの理由でBonjourがご使用の環境で機能しない場合は、iMacまたはMacBookで空港の住所を確認してください。
_ipconfig getifaddr en1
_
または一般的に
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
基本的に、ファイアウォール設定から、特定のアプリケーション(Rubyなど)が着信接続を受け入れることを許可できます。さらに、外界(wwwなど)へのアクセスを許可するには、ルーター設定を介してトラフィックを内部ゲートウェイ:ポートに転送する必要があります。
これを行う方法は次のとおりです。
ルーターのポートを開き(192.168.1.1経由)、your_web_ip:portからlocal_gateway:portにトラフィックを転送します
できました。次に、リモートコンピューターから、ブラウザーを開いてWeb IPアドレスを表示します( http://www.whatismyip.com/ で検索)+上記の宛先ポート番号。 72.189.194.65:3280、これはローカルの192.168.1.4:3000に接続します
注:Mac OSX 10.7.5で実行しています
127.0.0.1は、すべてのコンピューターが自身のために持っているローカルアドレスです。マシンの実際のIPアドレス(またはホスト/ Bonjour名)を調べる必要があります。 [システム環境設定]、[ネットワーク]に移動し、ケーブルを使用する場合はイーサネットポート、WLANを使用する場合は空港のいずれかで、マシンのIPを調べます。次に、iPhoneのSafariで:3000パーツと一緒にこのアドレスを開きます。
アプリケーションが127.0.0.1:3000のみをリッスンしている場合、別のコンピューターからアクセスすることはできません。そのためには、IPまたは0.0.0.0(使用可能なすべてのインターフェース)をリッスンするように構成を変更する必要があります。そのオプション1。
2番目のオプションは、プロキシを使用することです。
3番目のオプションは、iphoneからsshを実行できる場合は、ssh転送を使用することもできます。
ssh user @ Host -L 3000:127.0.0.1:3000
次に、iPhoneで127.0.0.1:3000を開きます。
あなたはこれを試しましたか、それは私のために働きました(私はそれとは関係ありません):