intente rails server -b 0.0.0.0, luego navegue esto en su iPhone.
zx1986
Respuestas:
37
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, macosxaunque las instrucciones son similares para las máquinas Linux. Entonces, en tu mac:
Abierto Terminal.app. Está debajo Applications->Utilities.
Corre ifconfigen 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.
Supongamos que descubre que es 192.168.10.1.
Verifique que puede conectarse a esa dirección desde su servidor con nc -v 192.168.10.1 3000.
Deberías ver un mensaje como Connection to 192.168.10.1 3000 port [tcp/http] succeeded!.
Si eso no funciona, vea a continuación.
Si funciona, presione ctrl-Cpara salir de la sesión nc.
Ahora intente conectarse en su máquina cliente.
Si se trata de una aplicación web, debería poder conectarse a través del navegador
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.
10x mate ... cuál es la diferencia cuando se habla de un sistema basado en Windows con el servidor Wamp ... ¿hay alguna diferencia?
Sagive SEO
Estoy usando mac sierra. Puedo acceder al servidor desde mi Mac (donde se está ejecutando el servidor) a través de 10.55.18.22:3000 pero no puedo acceder a él desde otra máquina a pesar de que ambos están en la misma red. La opción de compartir web no está disponible en sierra. ¿Cómo podemos hacer que esto funcione?
Santhosh Kumar
saanthosh: mire el reenvío de puertos en su enrutador. Eso es lo que estaba haciendo antes de descubrir la función de uso compartido de Internet de OSX (que aparentemente ha estado disponible desde al menos OSX 10.6). Hice pruebas de host local en una variedad de dispositivos móviles en la misma sala / red que mi máquina de desarrollo OSX, gracias a los cambios estándar / pequeños en la configuración del enrutador (es decir, el reenvío de puertos). Otros artículos y subprocesos SO proporcionan información sobre la configuración del enrutador. En última instancia, ahora estoy en una nueva ubicación y no tengo acceso al enrutador, así que en cambio uso el uso compartido de Internet OSX (High Sierra) para lograr lo mismo.
MarsAndBack
12
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
Esta respuesta tiene algunas buenas optimizaciones sobre la mía con respecto a encontrar su nombre de host y dirección IP.
Phil Hollenback
2
¿Por qué Bonjour no funcionaría? Me parece que mi nombre de host es gm20152.local. Pero cuando intento gm20152.local: 3000 en la misma máquina, aparece una página válida. Pero cuando intento gm20152.local: 3000 en mi teléfono Android, el navegador de mi teléfono no pudo encontrar el host. Creo que esto se debe a que mi teléfono no tiene forma de mapear gm20152.local al ip addr de mi macbook. Cómo puedo lograr esto ?
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:
Mac-> Preferencias del sistema-> Compartir-> Activar la casilla de verificación "Compartir web"
Mac-> Preferencias del sistema-> Seguridad-> permite que tu aplicación (por ejemplo, ruby) acepte la conexión entrante
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
Por ejemplo, desde la configuración de mi enrutador de Verizon -> Reenvío de puertos -> crear regla: reenviar a puerta de enlace local (por ejemplo, 192.168.1.4), puerto personalizado, protocolo TCP, fuente = cualquiera, destino = 3280, todos los tipos de conexión, reenviar a puerto = 3000.
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
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.
Además, el Panel de preferencias de uso compartido siempre muestra un nombre o una dirección por la cual se puede acceder a su computadora.
James
2
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
rails server -b 0.0.0.0
, luego navegue esto en su iPhone.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á debajoApplications->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 estarloen0
. Tome nota de la dirección despuésinet
; 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.
fuente
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 }')
fuente
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
fuente
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.
fuente
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
fuente
0.0.0.0
! ¿Cómo podría no pensar en eso?¿Has probado esto, funcionó para mí (no estoy afiliado a él):
https://github.com/progrium/localtunnel
fuente