developmentでWEBrick起動のRailsはbindオプションでanyアクセスを受け付けるようになる

  • 56
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

VirtualBox で起動した guest OS の Rails アプリにアクセスしようとしてハマったのですが development のデフォルト設定では localhost からのアクセスしか受け付けません(この場合もちろん guest OS にとっての localhost)。WEBRick だと bind オプションで binding IP Address を指定して host OS からアクセスできるようになります。

bundle exec rails s --bind=0.0.0.0

host only network 設定してある guest OS の Rails アプリに host OS からアクセスできなくて iptables を無効にしてるのになんで?と思いしばらく格闘していたのですが…一旦あきらめて JavaScript で遊んでて node で http-server を立ち上げてダメ元でアクセスしたらすんなりいけたもので気が付きました…なるほどこういうときは netstat -an で Local Address を調べるとよいのか。

指定なし
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 127.0.0.1:3000              0.0.0.0:*                   LISTEN
--bind=0.0.0.0
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:3000                0.0.0.0:*                   LISTEN

参考