Subscribed unsubscribe Subscribe Subscribe

@kyanny's blog

Write down what I learnt. Opinions are my own.

localhost:3000 で起動した Rails アプリケーションに Chrome でアクセスできなくなったら -b 0.0.0.0 オプションをつける

Rack の変更に伴い、 Rails 4.2 から rails server はそれまでの 0.0.0.0 ではなく localhost を listen するようになった。この影響らしい。

stackoverflow.com

おそらく、 Chrome は localhost な URL は開けないが、たまたま Rails アプリケーションが 0.0.0.0 で listen していたので、アドレスバーには localhost:3000 と書いてあるものの 0.0.0.0:3000 に繋がっており、いろいろうまくいっていた。しかし手元の Rails アプリケーションを 4.2 にアップグレードして 0.0.0.0:3000 では繋がらなくなったため、突然 localhost:3000 を Chrome で開けなくなったように見えた。実際には元々 localhost:3000 にはアクセスできていなかった。ということだと思う。

ミニマムな config.ru を rackup したものや、素の Rails 4.2 アプリケーションを rails server したものは、 -b 0.0.0.0 オプションをつけなくても普通に Chrome で開けたので、手元の Rails アプリケーションのどこかがおかしいのだと思う。いろいろ降り積もっているので心当たりがありすぎるというか、ありすぎてむしろ見当もつかないというか。

環境変数など込みで起動コマンドを記した秘密の wiki ページを更新したので次からは大丈夫なはず。