質問: ### 実現したいこと Windows10からVirtualBox上に作成したCentOSのRailsアプリにアクセスしたい。 ### 状況 #### Virtulbox上のCentOS7にRailsをインストール ``` $ rails new testApp $ cd testApp $ bin/rails db:create ``` の後に、 ``` $ bin/rails s => Booting Puma => Rails 5.2.3 application starting in development => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.12.1 (ruby 2.5.1-p57), codename: Llamas in Pajamas * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://localhost:3000 Use Ctrl-C to stop ``` でサーバー起動、Windows10のGoogleChromeから`http:localhost:3000`にアクセスすると ``` このサイトにアクセスできません localhost で接続が拒否されました。 次をお試しください 接続を確認する プロキシとファイアウォールを確認する ERR_CONNECTION_REFUSED ``` と表示される。 ### 試したこと #### Virtulboxのポートフォワーディングの設定 ホストポート80 ゲストポート80 ホストポート3000 ゲストポート3000 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/f0b30eb1a35e933a710b0df08e43c60c.png) #### CentOSのファイアウォールの停止 `$ systemctl start firewalld`でファイアウォールを停止させてアクセスを試しています。 #### その他 rails s -b 0.0.0.0でサーバーを起動、http://0.0.0.0:3000にアクセス rails s -b 0.0.0.0 -p 3001でサーバー起動、http://0.0.0.0:3001にアクセス 共に以下のエラー ``` このサイトにアクセスできません http://0.0.0.0:3001/ のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。 ERR_ADDRESS_INVALID ``` ### 補足情報(FW/ツールのバージョンなど) CentOSから`$ wget localhost:3000`や`$ wget 0.0.0.0:3000`は問題なく200 OKが返ってくるので、railsコマンドやサーバーの起動そのものはうまくいってると思います。 ### 追加画像 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/54b2800e1ba7604d8d830b95c126d8af.png) ### 追加画像2 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/043653260522ce8ff25c212439a905e8.png)
回答: rails s -b 0.0.0.0 での起動が必要です。 rails sで起動するにあたり、-bを指定して、0.0.0.0で全てのIPアドレスからのアクセスを許可します。 類似の解答としては があります。