Application Rails non visible sur le réseau local

Pour la première fois depuis la mise à niveau vers OSX Yosemite, j'ai besoin de voir une application en cours d'exécution sur ma machine à partir d'une autre machine sur le même réseau. Auparavant, c'était aussi simple que de trouver mon adresse IP interne et de l'utiliser avec le port 3000, par exemple. http://192.168.0.111:3000.

Cependant, je constate maintenant qu'avec Yosemite cela ne fonctionne pas. L'application est définitivement en cours d'exécution et est disponible via localhost:3000 mais pas via mon adresse IP interne.

J'ai exécuté le scanner de port utilitaire réseau et cela montre que localhost expose le port 3000 mais mon IP ne le fait pas. D'autres machines sur le réseau qui n'ont pas encore mis à niveau (10.7.5 et 10.9.5) n'ont pas ce problème.

Toute aide serait grandement appréciée.

Edit: selon le volet Sécurité et confidentialité des préférences système, le pare - feu Yosemite est actuellement désactivé, ce qui ne cause pas le problème.

24
demandé sur BrightBlue 2015-03-19 00:08:53

1 réponses

Par défaut, rails server n'acceptera que les connexions de localhost. Vous pouvez vérifier cela en regardant la sortie de la console:

Listening on localhost:3000, CTRL+C to stop

Pour écouter sur toutes les adresses, ce qui vous permettra de vous connecter à partir d'autres machines du réseau local, vous devez vous lier explicitement à une adresse plus permissive. Essayez ceci:

rails server --binding=0.0.0.0

, Vous devriez maintenant voir:

Listening on 0.0.0.0:3000, CTRL+C to stop

Maintenant, vous pouvez vous connecter à votre application Rails d'ailleurs sur votre réseau local, en recherchant par exemple http://192.168.0.111:3000.

47
répondu Matt Brictson 2015-03-18 21:38:26