Respuestas:
Primero debe determinar la dirección IP o el nombre de la máquina en la que está ejecutando el servidor web. Supongo que está ejecutando el servidor web en una Mac desde que etiquetó su publicación, macosx
aunque las instrucciones son similares para las máquinas Linux. Entonces, en tu mac:
Terminal.app
. Está debajo Applications->Utilities
.ifconfig
en la terminal. Eso le muestra todas las interfaces de red en la máquina. Una de ellas es la red a la que está conectada activamente su máquina. Si tu mac está en una conexión por cable, debería estarlo en0
. Tome nota de la dirección después inet
; esa debería ser la dirección que utiliza su máquina.
nc -v 192.168.10.1 3000
.
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
para salir de la sesión nc.Si no puede conectarse a su aplicación en la dirección real del servidor, eso significa que su aplicación no está escuchando en esa dirección. Deberá investigar cómo cambiar la configuración de su aplicación para modificar ese comportamiento. Como no sé qué aplicación está ejecutando, no puedo ofrecer ninguna buena idea al respecto.
Encuentra el nombre de tu Mac usando hostname
(en el indicador de Terminal) y úsalo en tu URL. Por ejemplo, http: //Tonys-iMac.local: 3000 /
Si por alguna razón Bonjour no funciona en su entorno, busque la dirección del aeropuerto en un iMac o MacBook con
ipconfig getifaddr en1
o en general con
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
Básicamente, desde la configuración del firewall puede permitir que una determinada aplicación (por ejemplo, ruby) acepte conexiones entrantes. Además, para permitir el acceso al mundo exterior (por ejemplo, www), deberá reenviar el tráfico a su puerta de enlace interna: puerto a través de la configuración de su enrutador.
Aquí se explica cómo hacer esto:
Abra un puerto en el enrutador (a través de 192.168.1.1) para reenviar el tráfico de your_web_ip: port a local_gateway: port
Hecho. Ahora desde la computadora remota, abra su navegador a su dirección IP web (busque a través de http://www.whatismyip.com/ ) + número de puerto de destino anterior, por ejemplo, 72.189.194.65:3280, esto se conectará a su 192.168.1.4 local : 3000
Nota: estoy ejecutando en Mac OSX 10.7.5
127.0.0.1 es la dirección local que cada computadora tiene para sí misma. Debe averiguar cuál es la dirección IP real (o el nombre de Host / Bonjour) de la máquina. Vaya a Preferencias del sistema, Red y busque la IP de la máquina, ya sea para el puerto Ethernet si usa un cable o el Aeropuerto si usa WLAN. Luego abra esta dirección junto con la parte: 3000 en Safari en el iPhone.
Si la aplicación solo está escuchando en 127.0.0.1:3000, entonces no puede acceder a ella desde otra computadora. Para hacerlo, deberá modificar la configuración para escuchar la IP o 0.0.0.0 (todas las interfaces disponibles). Esa es la opción uno.
La segunda opción es usar un proxy.
La tercera opción es si puede enviar ssh desde el iPhone, también puede usar el reenvío ssh
usuario ssh @ host -L 3000: 127.0.0.1: 3000
Luego, en su iPhone, abra 127.0.0.1:3000
0.0.0.0
! ¿Cómo podría no pensar en eso?
¿Has probado esto, funcionó para mí (no estoy afiliado a él):
rails server -b 0.0.0.0
, luego navegue esto en su iPhone.