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
参考