回答:
最初に、Webサーバーを実行しているマシンのIPアドレスまたは名前を決定する必要があります。macosx
Linuxマシンでも手順は似ていますが、投稿にタグを付けたため、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など)へのアクセスを許可するには、ルーター設定を介して内部gateway:portにトラフィックを転送する必要があります。
これを行う方法は次のとおりです。
your_web_ip:portからlocal_gateway:portにトラフィックを転送するために(192.168.1.1経由で)ルーターのポートを開きます
できた これで、リモートコンピューターからブラウザーを開き、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: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を開きます
0.0.0.0
!どうしてそんなことを考えられなかったのでしょうか?
これを試してみました、それは私のために働いた(私はそれと提携していない):
rails server -b 0.0.0.0
から、これをiPhoneでブラウザします。