pingは通るのに、仮想サーバーにSSH接続してRailsサーバーを立ち上げたら、ホストOS上のブラウザにプレビューを表示できない(解決済)

環境構築・OS(特にLinux)
スポンサーリンク

Virtualbox上にubuntuの仮想サーバーを立ち上げSSH接続。Railsサーバーを立ち上げるところまでは成功したが、ホストOS上のブラウザにプレビュー表示がなぜかできない。

SSH接続は出来ている。pingも通る。なのに「このサイトにアクセスできません」

結論:原因はFirewall。Firewallを解除すれば表示可能。

状況や具体的な解除方法を記しておく。



前提

作動環境

  • ホストOS:macOS Catalina 10.15.7
  • ホスト側ブラウザ:Google Chrome
  • ホスト側エディター:VSCode
  • ゲストOS:Ubuntu
  • VM:Vertualbox

経緯

転職先で改めてRailsチュートリアルをすることになり、ホスト型仮想化を用いて環境構築を行った。

Virtualboxで仮想環境を生成し、ゲストOS(Ubuntu)へのSSH接続完了

Rails newして、生成されたディレクトリのマウントも完了

さあ、Railsチュートリアル1.3.2を進めるぞ、というところ。

ホスト型仮想化?VM?ホストOSとかゲストOSとかなんのこっちゃ?という方は、下記も参照。

Ubuntuとか初めて聞いた!という方は、Linuxによくある勘違いをしているかもしれません。こちら参照:

 



ブラウザにプレビューを表示できない(問題)

SSH接続済のVScodeのターミナルから、サーバーを起動

$ bundle exec rails s -b 0.0.0.0
=> Booting Puma
=> Rails 5.1.6 application starting in development 
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.9.1 (ruby 2.5.1-p57), codename: Private Caller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

Puma starting in single mode…”と、Railsサーバーは無事立ち上がっているように見える。

そこでブラウザ(Chrome)でプレビューを見ようと、

http://[UbuntuのIPアドレス]:3000/

にアクセスを試みたところ、アクセスできませんでした。

エラー画面

なんでや!

「-b 0.0.0.0」のオプションもちゃんとつけて、SSH接続したIPアドレスと相違ないことも確認したのに・・・!

Virtualboxのポート番号の設定も色々試してみたのに・・・

Google先生に泣きついても答えは出ず、先輩に泣きついても答えは出ず。

pingは通る場合の解決策:ファイヤーウォールの無効化

上司が言うには、

「もしpingが通るならIPアドレスは合っていると考えて、動作させているUbuntu の方で iptables とか Firewallのようなものが動いていて、3000 番ポートが外から接続できないようになっている可能性がある」

とのこと。

確かに、エラー画面にもファイヤーウォールを確認せいと書いてある。

管理者権限で、ファイヤーウォールを無効化

$ sudo ufw disable

無事に表示!

こんなに「Yey! You’re on Rails!」の表示が嬉しかったのは、人生初めて。

学んだこと:「エラー画面をよく見る」基本は遵守

ファイヤーウォールを確認って、おそらく家電製品の「コンセントはささっていますか?」レベルのトラブルシューティングのプロセスだよね、きっと。

どんな接続エラーにも書いてあるもんだから、無視する悪癖がついてしまった・・・

やはり基礎基本は大切ですね。

ということで今回の学び

  1. 接続エラー → 一度はファイヤーウォールを確認する
  2. エラー画面は大切。無視しない。

以上、同じトラブルに合っている人の助けになれば嬉しいです。

はるすと
はるすと

最後まで読んでくださってありがとうございました!

この記事を書いた人
こもれびエンジニア

自然と自由を愛するエンジニア。2021年1月に、大手製造業設計からプログラマ(Rails, AWS)へ転職。動物や自然との触れ合いや、汗を流すのが好き。

/HSP(繊細さん)/18デリケートな象/ストレングスファインダー(1分析思考/2親密性/3学習欲/4調和性/5収集心)、テニス、合気道、登山、あいだみつを、ジブリ、ワンピース、ドラゴンボール、AWS、Ruby on Rails、アイミング

twitterをフォローして、記事にならないちょっとした豆知識もチェック!
環境構築・OS(特にLinux)
スポンサーリンク
SNSでシェア/コメントして、自分のアウトプット/発信力を高めるのにお使いください。 ↓ 各ページへジャンプ ↓
twitterをフォローして、記事にならないちょっとした豆知識もチェック!
スポンサーリンク
「そんなか」サイト

コメント

タイトルとURLをコピーしました