problema de configuración de la conexión OSX a la aplicación de rack

2

Estoy en mac ElCapitan 10.11.6 (15G31) y ejecuto la aplicación de rack simple rackup -p 5004 . Puedo conectarme a él con http://localhost:5004/ y http://[::1]:5004/

Pero no se puede conectar con http://127.0.0.1:5004/ y http://192.168.0.111:5004/ .

Esto parece una mala configuración en mi máquina. Recibo errores diferentes cuando intento conectarme con IPv4 e IPv6.

$ nc -v -4 192.168.0.111 5004 # and nc -v -4 127.0.0.1 5004 and nc -v -4 localhost 5004
nc: connectx to 192.168.0.111 port 5004 (tcp) failed: Connection refused

$ nc -v -6 192.168.0.111 5004 # and nc -v -6 127.0.0.1 5004
nc: getaddrinfo: nodename nor servname provided, or not known

Pero puedo conectarme con nc -v -6 localhost 5004

El archivo de mi host es bastante simple:

$ cat /etc/hosts                                                                                                                                                       
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Necesito hacer que funcione con la dirección IP de mi máquina host 192.168.0.111 para poder conectarme dentro del contenedor Docker. ¿Cómo arreglar esto?

Información adicional que encontré en diferentes temas

  • scutil

    $ scutil -r 192.168.0.111
    Reachable, Local Address, Directly Reachable Address
    
    $ scutil -r 127.0.0.1
    Reachable, Local Address, Directly Reachable Address
    
    $ scutil -r localhost
    Reachable
    
    $ scutil -r ::1
    Reachable, Local Address, Directly Reachable Address
    
    # but note, ???
    $ scutil -r qwerty
    Reachable
    
  • lsof port use

lsof muestra que el puerto es de Ruby ejecutable y la parte interesante es localhost:avt-profile-1 . Al verificar qué avt-profile-1 da los resultados para "Datos de medios del Protocolo de transporte en tiempo real". Más información aquí . También es interesante cuando detengo la aplicación rackup , no hay uso del puerto, por lo que no se está ejecutando el servicio / daemon en mi máquina.

lsof -i :5004
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby    12167 kode   16u  IPv6 0xf3c39e30b59c5321      0t0  TCP localhost:avt-profile-1 (LISTEN)

Aquí tengo una aplicación diferente que se ejecuta en el puerto 5000. Se puede acceder a través del IP del host en 192.168.0.111:5000 . Tenga en cuenta el NOMBRE *:commplex-main . Además, me gustaría saber para qué se utiliza.

lsof -i :5000
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby    12889 kode   14u  IPv4 0xf3c39e30b22fcbe9      0t0  TCP *:commplex-main (LISTEN)
  • nombre de la dirección del host

    host 192.168.0.111
    111.0.168.192.in-addr.arpa has no PTR record
    
  • arp

    $ arp 192.168.0.111
    ? (192.168.0.111) at a0:99:9b:17:16:1d on en0 ifscope permanent [ethernet]
    
  • nslookup

    $ nslookup localhost
    Server:     192.168.0.1
    Address:    192.168.0.1#53
    
    Name:   localhost
    Address: 127.0.0.1
    
    $ nslookup 127.0.0.1
    Server:     192.168.0.1
    Address:    192.168.0.1#53
    
    1.0.0.127.in-addr.arpa  name = localhost.
    
    $ nslookup 192.168.0.111
    Server:     192.168.0.1
    Address:    192.168.0.1#53
    
    ** server can't find 111.0.168.192.in-addr.arpa.: NXDOMAIN
    
pregunta kode 03.08.2016 - 18:14

2 respuestas

1

El problema era rackup se ejecuta en localhost de forma predeterminada. Para usar el host uno debe especificarlo con -o como rackup -o 192.168.0.111 -p 5004 . Solo se puede especificar un host.

    
respondido por el kode 04.08.2016 - 11:32
-3

Ah, tuve el mismo problema hace un tiempo. Resultó ser un mal script que Chrome estaba ejecutando. Resolví el problema usando Safari en su lugar.

    
respondido por el chromaticsyllabus 03.08.2016 - 20:35

Lea otras preguntas en las etiquetas