2010-11-28 33 views
8

que utiliza:acceso WEBrick desde un PC diferente

rails s 

run webrick on 0.0.0.0:3000 

Pero podría't llegar a la aplicación web desde otro PC.

¿Cómo puedo lograr esto en Rails 3?

+0

Por favor, aclarar, ¿Cómo se intenta acceder a la aplicación web desde el navegador de otro sistema? – Hemanth

Respuesta

14

La IP de enlace predeterminada es 0.0.0.0, por lo que el problema puede ser que su cortafuegos bloquee ese puerto. Intente usar rails s -b IP_ADDRESS -p PORT para asegurarse de que el problema esté con su firewall.

Btw. Linux, Osx, Windows?

+0

0.0.0.0 no es un puerto, que es una dirección IP. –

+0

tienes razón ... la 0.0.0.0 es importante porque es la unión de todas las interfaces de red no sólo a localhost. Me dije a 3000, cuando había escrito "el bloqueo de ese puerto" – Nucc

+0

1 a ambos sus respuestas y gracias por corregirme. Hablé incorrectamente y eso es un gran no-no. Lo siento. –

0

Asegúrese de que no tiene un servidor de seguridad que bloquea ese puerto. También asegúrese de incluir el puerto cuando intente golpearlo desde la otra máquina. Debería funcionar en lo que respecta a los rieles.

5

Nucc lo tiene todo. Debería poder acceder al sitio web a través de su dirección IP, pero por lo que entiendo está tratando de llegar a él a través de 0.0.0.0 (me equivoqué al pensar que esta es una dirección nula, mi mal) ya que Nucc correctamente indica los mapas 0.0.0.0 a INADDR_ANY así se correlacionará con todas sus interfaces de red.

Si desea especificar una dirección IP específica uso (asumiendo que su dirección IP es 192.168.0.50):

rails s -b 192.168.0.50 

Me gustaría mantener el puerto por defecto a 3000 sólo para que no entren en conflicto con una verdadera servidor web si se está ejecutando uno en su computadora, pero si no dude en cambiarlo a 80, así:

rails s -b 192.168.0.50 -p 80 

el parámetro de línea de comandos -b cambia la dirección IP WEBrick se une y el - El parámetro p cambia el puerto predeterminado. Para obtener una lista completa de opciones de tipo:

rails s -h 

Como también se ha dicho que necesita para asegurarse de que el puerto está abierto si está usando un software de cortafuegos. Si no estaba tratando de usar 0.0.0.0 pero estaba usando la dirección IP correcta de la segunda computadora, entonces este es probablemente el culpable.

Ahora para llegar a su sitio carriles desde otro ordenador sólo tendría que escribir en un browswer:

http://192.168.0.50:3000 

O si ha cambiado el puerto por defecto al puerto estándar de 80 usted podría usar:

http://192.168.0.50 
4

(lo siento, no puedo responder :()

"La dirección IP de encuadernado predeterminada es 0.0.0.0, que no puede ser alcanzado de otra computadora ya que es una dirección no enrutable. "

Lo sentimos, pero no es cierto. Aquí el 0.0.0.0 significa INADDR_ANY, por lo que se une a todas las interfaces ...

+0

+1 Me corrigen, tiene toda la razón. –

2

Si las conexiones son a través de la LAN , a continuación, utilizar el comando ifconfig en su terminal encontrar la dirección inet, será algo así como 192.148.0.100, y utilizarlo 192.148.0.100:3000, es el puerto donde el servidor está en ejecución.

+0

¿Sabes cómo hacer esto con los subdominios? p.ej. cómo acceder a account.localhost: 3000/@Nithin –

Cuestiones relacionadas