OSX Yosemiteにアップグレードしてから初めて、同じネットワーク上の別のマシンから自分のマシンで実行されているアプリを表示する必要があります。以前は、これは私の内部IPアドレスを見つけて、それをポート3000で使用するのと同じくらい簡単でした。 http://192.168.0.111:3000
。
しかし、ヨセミテではこれが機能しないことがわかりました。アプリケーションは確実に実行されており、localhost:3000
経由で利用できますが、内部IP経由では利用できません。
ネットワークユーティリティのポートスキャナーを実行しましたが、ローカルホストはポート3000を公開していますが、IPは公開していません。まだアップグレードしていないネットワーク上の他のマシン(10.7.5および10.9.5)では、この問題は発生していません。
どんな助けでも大歓迎です。
編集:システム環境設定のセキュリティとプライバシーペインによると、Yosemiteファイアウォールは現在オフになっているため、問題は発生していません。
デフォルトでは、Rails server
はローカルホストからの接続のみを受け入れます。これは、コンソール出力を確認することで確認できます。
Listening on localhost:3000, CTRL+C to stop
ローカルネットワーク上の他のマシンから接続できるようにするすべてのアドレスをリッスンするには、より寛容なアドレスに明示的にバインドする必要があります。これを試して:
Rails server --binding=0.0.0.0
次のように表示されます。
Listening on 0.0.0.0:3000, CTRL+C to stop
これで、ローカルネットワーク上の他の場所からRailsアプリに接続できます。たとえば、http://192.168.0.111:3000
。