Risposte:
Innanzitutto è necessario determinare l'indirizzo IP o il nome della macchina su cui si sta eseguendo il server web. macosx
Suppongo che tu stia eseguendo il webserver su un mac poiché hai taggato il tuo post nonostante le istruzioni siano simili per le macchine linux. Quindi, sul tuo mac:
Terminal.app
. È sotto Applications->Utilities
.ifconfig
nel terminal. Questo ti mostra tutte le interfacce di rete sulla macchina. Uno di questi è la rete alla quale la tua macchina è attivamente connessa. Se il tuo Mac è su una connessione cablata che dovrebbe essere en0
. Annota l'indirizzo dopo inet
, che dovrebbe essere l'indirizzo utilizzato dalla tua macchina.
nc -v 192.168.10.1 3000
.
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
per uscire dalla sessione nc.Se non riesci a connetterti alla tua applicazione sull'indirizzo reale del server, ciò significa che l'applicazione non è in ascolto su quell'indirizzo. Sarà necessario esaminare come modificare la configurazione dell'applicazione per modificare tale comportamento. Dal momento che non so quale applicazione stai eseguendo, non posso offrire buone idee al riguardo.
Trova il nome del tuo Mac usando hostname
(al prompt Terminale) e usalo nel tuo URL. Ad esempio http: //Tonys-iMac.local: 3000 /
Se per qualche motivo Bonjour non funziona nel tuo ambiente, trova l'indirizzo dell'aeroporto su un iMac o un MacBook con
ipconfig getifaddr en1
o in generale con
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
Fondamentalmente, dalle impostazioni del firewall è possibile consentire a una determinata applicazione (ad esempio ruby) di accettare connessioni in entrata. Inoltre, per consentire l'accesso al mondo esterno (ad es. Www), è necessario inoltrare il traffico al gateway interno: porta tramite le impostazioni del router.
Ecco come fare:
Apri una porta sul router (tramite 192.168.1.1) per inoltrare il traffico da your_web_ip: port a local_gateway: port
Fatto. Ora dal computer remoto, apri il tuo browser al tuo indirizzo IP web (trova via http://www.whatismyip.com/ ) + porta di destinazione # sopra, ad es. 72.189.194.65:3280, questo si connetterà al tuo 192.168.1.4 locale : 3000
Nota: sto eseguendo su Mac OSX 10.7.5
127.0.0.1 è l'indirizzo locale che ogni computer ha per sé. Devi scoprire qual è il vero indirizzo IP (o nome Host / Bonjour) della macchina. Vai su Preferenze di Sistema, Rete e cerca l'IP della macchina, sia per la porta Ethernet se usi un cavo o l'Aeroporto se usi la WLAN. Quindi apri questo indirizzo insieme alla parte: 3000 in Safari su iPhone.
Se l'applicazione è in ascolto solo su 127.0.0.1:3000, non è possibile accedervi da un altro computer. Per fare ciò è necessario modificare la configurazione in Listen the IP o 0.0.0.0 (tutte le interfacce disponibili). Qual è l'opzione uno.
La seconda opzione è usare un proxy.
La terza opzione è che se puoi ssh dall'iPhone puoi anche usare l'inoltro ssh.
utente ssh @ host -L 3000: 127.0.0.1: 3000
Quindi sul tuo iPhone apri 127.0.0.1:3000
0.0.0.0
! Come potrei non pensarci?
Hai provato questo, ha funzionato per me (non sono affiliato ad esso):
rails server -b 0.0.0.0
, quindi naviga sul tuo iPhone.