ホーム DoRuby Rails 4.2 にアップデートすると他のマシンからサーバーにアクセスできなくなる?

Rails 4.2 にアップデートすると他のマシンからサーバーにアクセスできなくなる?

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

一瞬ハマったのでメモとして書き残します。

 Rails 4.2 にアップデートすると他のマシンからサーバーにアクセスできなくなる?

「rails s」で起動するサーバーの IP アドレスはもともとは「0.0.0.0」でしたが、

Rails 4.2 から「localhost」になっているようです。

この影響で他のマシンや、ホスト OS から立ち上げたサーバーにアクセスできない!

ということがあります。

 解決方法

いままで通りにアクセスできるようにするには簡単で、「rails s -b 0.0.0.0」のような

オプションを指定するだけです。オプションの詳細は「rails –help」で確認できます。

rails s
#=> 'http://localhost:3000' で起動するため外部からアクセス不可
rails s -b 0.0.0.0
#=> 'http://0.0.0.0:3000' となり、いままで通りアクセス可能

 どこで変わったの?

Rails のサーバー部分の実装に使われている Rack に、デフォルト IP の変更があったみたいです。単純に「その方が安全だよね」という話ですね。

参考: https://github.com/rack/rack/commit/28b014484a8ac0bbb388e7eaeeef159598ec64fc

記事を共有

最近人気な記事