2014年3月4日火曜日

Ruby on Railsプラクティス vagrantでlocalhost:3000にアクセスできない問題

現在、vagrantを使ってrailsの勉強を再び始めたんですが、いきなり問題が発生しました(汗)


rvm、ruby、railsのインストールが終了して、railsでプロジェクトを作成
初期画面を確認しようとブラウザでlocalhost:3000にアクセスしたら。。。


あれま!
「localhost:3000 のサーバへの接続を確立できませんでした。」になっちゃいましたw


Vagrantfileのネットワーク部分とサーバー側のiptableを修正したらlocalhost:3000でアクセスできるようになったので、手順をザクッと書きました


Vagrantfileのネットワーク部分を修正

hostonlyの設定はしなくてダイジョブ、むしろ設定しようとすると怒られた(笑)

config.vm.network :forwarded_port,  guest:3000, host:3000

vagrant upでの起動ログ
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 3000 => 3000 (adapter 1) ★ 設定が反映されている

windowsのダイアログが表示されるので許可ボタンを押してport3000のアクセスを許可しておく


起動したサーバー側のipテーブルを変更

vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT ★ 追加
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


iptableの再起動をお忘れなくw
/etc/init.d/iptables restart

localhost:3000でアクセスできました^^
apacheやnginxとかウェブサーバーの時にもこの手順必要になるのかな?

0 件のコメント:

コメントを投稿