2 votes

Problème de configuration de la connexion OSX à l'application rack

Je suis sur mac ElCapitan 10.11.6 (15G31) et j'exécute une simple application de rack. rackup -p 5004 . Je peux m'y connecter avec http://localhost:5004/ y http://[::1]:5004/

Mais je ne peux pas me connecter avec http://127.0.0.1:5004/ y http://192.168.0.111:5004/ .

Cela ressemble à une mauvaise configuration sur ma machine. J'obtiens des erreurs différentes lorsque j'essaie de me connecter avec IPv4 et 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

Mais je peux me connecter avec nc -v -6 localhost 5004

Mon fichier hosts est assez simple :

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

Je dois le faire fonctionner avec l'adresse IP de ma machine hôte. 192.168.0.111 pour que je puisse me connecter dans le conteneur Docker. Comment résoudre ce problème ?


Informations supplémentaires que j'ai trouvées sur différents sujets

  • 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
  • utilisation du port lsof

lsof montre le portage par l'exécutable ruby et la partie intéressante est localhost:avt-profile-1 . Vérifier ce que avt-profile-1 is donne des résultats pour "Real-time Transport Protocol media data". Plus d'informations ici . Ce qui est également intéressant, c'est que lorsque j'arrête le rackup il n'y a pas d'utilisation de port, donc ce n'est pas un service/daemon qui tourne sur ma machine.

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)

Ici, j'ai une application différente qui fonctionne sur le port 5000. Elle est joignable via l'IP de l'hôte à 192.168.0.111:5000 . Notez le NOM *:commplex-main . En outre, j'aimerais savoir à quoi cela sert.

lsof -i :5000
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ruby    12889 kode   14u  IPv4 0xf3c39e30b22fcbe9      0t0  TCP *:commplex-main (LISTEN)
  • nom de l'adresse de l'hôte

    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

1voto

kode Points 131

La question était rackup fonctionne sur localhost par défaut. Pour utiliser host, il faut le spécifier avec -o comme rackup -o 192.168.0.111 -p 5004 . Un seul hôte peut être spécifié.

-3voto

Ah, j'ai eu le même problème il y a quelque temps. Il s'est avéré que c'était un mauvais script que Chrome exécutait. J'ai résolu le problème en utilisant Safari à la place.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X