español - sinatra ruby tutorial
No se puede acceder al servidor Sinatra local desde otra computadora en la misma red (3)
Tengo un servidor Sinatra simple que ejecuto a través de un compañero de texto, pero no puedo acceder desde otra computadora en la misma red.
Estoy ejecutando Ruby 1.9.3p327 y Sinatra 1.4.1 en Mac OS 10.8.3. El cortafuegos está desactivado.
Probé el mismo escenario en diferentes redes y computadoras.
La computadora responde a pings simples, pero cuando trato de telnet port 4567 no puedo establecer una conexión.
Asegúrese de que el servidor sinatra no esté escuchando solo la dirección ip del localhost (127.0.0.1).
Estoy respondiendo con un poco de información adicional que puede ayudar a la gente como yo golpeando sus cabezas contra la pared.
Estoy en una máquina con Windows, no en una Mac, y tuve que abrir el puerto que estaba usando (predeterminado para Sinatra es 4567) para el público (aunque estoy en una red universitaria).
Para hacer esto en Windows 10:
- Presiona la tecla de Windows
- Buscar firewall y presionar enter
- Ir a la configuración avanzada
- Haga clic en las reglas de entrada en la parte superior izquierda
- Haga clic en la nueva regla en la parte superior derecha
- Haga clic en la opción de puerto
- Ingrese su puerto (probablemente 4567 para Sinatra)
- Siguiente
- Y ahora elija de dominio / privado / público.
Ahora, otra cosa a considerar es quién puede acceder a su servidor web. Si quieres a alguien, elige público. No estoy seguro (y me encantaría la opinión de los demás) de cómo conectar solo los dispositivos en la misma red pública. También puede permitir direcciones IP específicas, pero para eso le sugiero que haga algunas investigaciones por su cuenta.
Hubo un compromiso reciente con Sinatra que cambió la dirección de escucha predeterminada a localhost
desde 0.0.0.0
en modo de desarrollo debido a problemas de seguridad.
Para permitir explícitamente el acceso desde la red, necesita ejecutar su aplicación en otro modo (por ejemplo, producción) o configurar la opción de 0.0.0.0
en 0.0.0.0
.
Puede hacer esto desde la línea de comando usando el servidor incorporado usando la opción -o
:
$ ./my_sinatra_file.rb -o 0.0.0.0