プログラミングや電子工作などについての記事がほとんどです

Vagrantの仮想マシン内のRailsサーバにブラウザから接続出来ない時の対処法

0 件のコメント
  • 仮想マシンを使わずに直接rails sしてみるとうまくいく。
  • 仮想マシン上のhttpサーバには接続できる。
  • でもrailsサーバには接続できない→なんで?
という状態でした。
というわけでハマっていた所の対処について説明します。

ググってみたがその方法だけでは上手くいかなかった

ググってみたところ以下の記事が出てきました。
Vagrantの仮想環境でrails serverで動いているアプリケーションにMacのブラウザからアクセスしてみる | Fuzz blog
よくあるハマりポイントはポートフォワーディングとか
基本的にRails 4.2未満のバージョンではこれでサーバにブラウザからアクセスできるはずです。問題はRails4.2の場合です。

Rails 4.2の仕様変更

Ruby on Rails 4.2 リリースノート | Rails ガイド
注目していただきたいのは、上記ページの3.3節の2パラグラフ目です。
ただし、今回の変更により、別のPCからRailsサーバーへのアクセスは以前と同じようにはできなくなります。たとえば、development環境が仮想マシン上にあり、ホストマシンからこのdevelopment環境にアクセスする場合などがこれに該当します。
このような場合、サーバーを起動する際にrails server -b 0.0.0.0とすることで、以前と同じ動作を再現できます。
仮想マシンも上記の別のPCの例外ではありません。
なので先ほどの設定を終えた場合であればrails server -b 0.0.0.0とすることにより万事解決です。私は今回無事にWelcome aboard 画面を拝むことができました。

まとめ

  • ここに従って仮想マシンの設定をする。
  • 駄目ならオプション付きのrails server -b 0.0.0.0でサーバを立てる。

0 件のコメント :

コメントを投稿