Rails アプリをローカルエリアネットワーク(LAN)内に限定公開する方法

環境
Rails 4.2.6

Rails アプリとスマホアプリを作っていて、連携させたい場合、本番用のサーバーではなく、手元のPCでテストしたい場合がよくある。またそんな場合、めんどくさいのでわざわざApacheなんか起動したくなくて、WEBrickでテストしたい。Rails アプリの開発環境におけるテスト駆動ではWEBrick通常rails sで起動するが、それだとPC上でしか Rails アプリにアクセスできない。そこに-bオプションを使ってrails s -b 0.0.0.0とすれば、同じローカルエリアネットワーク(LAN)内のスマホからアクセスできるようになる。なお-bオプションはバインドするIPアドレスを指定するオプション。

まず手元のPCのホスト名を取得する。

$ hostname
****.local

****に各マシンのホスト名が入ります。そしてWEBrickの起動。

$ rails s -b 0.0.0.0     
=> Booting WEBrick
=> Rails 4.2.6 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-12-22 12:21:10] INFO  WEBrick 1.3.1
[2016-12-22 12:21:10] INFO  ruby 2.2.3 (2015-08-18) [x86_64-darwin14]
[2016-12-22 12:21:10] INFO  WEBrick::HTTPServer#start: pid=59299 port=3000

同一LAN内にあるデバイスにおけるSafari、IEなどのWebブラウザでhttp://****.local:3000を叩くと、起動しているRailsアプリが表示される。

-b以外のオプションはまた今度!

参考

Railsドキュメント

RailsアプリケーションをLAN内に公開する

コメントを残す

メールアドレスが公開されることはありません。