web-dev-qa-db-fra.com

Qu'est-ce que la liaison d'un Rails Server à 0.0.0.0 vous achète?

J'utilise "www.xip.io" comme joker DNS pour les tests sur différents appareils. J'ai défini mon domaine principal sur mon adresse IP. Je lance un Rails serveur avec bundle exec Rails server et je vais ici www.<ip_address>.xip.io:3000 et remarquez mon Rails ne répond pas.

Cependant, si je lie mon Rails serveur à 0.0.0.0 comme ça bundle exec Rails server -b 0.0.0.0, Ça marche! Je ne comprends pas ce que 0.0.0.0 dit à mon serveur pour que cela fonctionne. Quelqu'un peut-il comprendre cela?

35
andy4thehuynh

Liaison à 0.0.0.0 indique au service de se lier à toutes les adresses IP sur votre machine. Rails serveur utilisé pour faire cela par défaut, mais avec 4.2 modifié pour se lier uniquement à localhost.

Fondamentalement, s'il n'est lié qu'à localhost, il ne répondra que localement à localhost ou 127.0.0.1 qui ne peut pas fonctionner via un service DNS car ce n'est pas une adresse IP publique.

Lorsque vous utilisez 0.0.0.0 il sera lié à localhost et à votre adresse IP routable.

62
smathy

Je pense que vous devez utiliser la liaison chaque fois que vous êtes dans une machine virtuelle/invitée.

0
jmdeamer