Parallelsで立ち上げたIEからrailsにアクセスする
こうするだけ
たちあげるときに次のようにする。
rails s -b 0.0.0.0
what
通常、Macでnode.jsなんかをつかってローカルサーバーを立ち上げてそこにアクセスする場合、http://localhost:8000
のようにURLをうつ。
しかし、同じマシン内でParallelsを起動し、その中でIEを起動して動作チェックをする場合などは
http://192.168.11.2:8000
のように、ローカルIPアドレスを指定する必要がある。
この192.168.11.2
の部分は各自ネットワーク環境によってことなる。
ifconfig
で確認できる人はそうすればいいし、わかんなければシステム環境設定>ネットワークを確認すれば
Wi-FiはXXXXXXXに接続していて、IPアドレス 192.168.11.2が設定されています。
みたいにかいているはず。
しかし、Railsでサーバを立ち上げる場合、ローカルIPアドレスを指定してもアクセスできない。
Railsはlocalhost
でしかアクセスできないのだが、Parallelsからはlocalhost
でMacにアクセスできない(windows自身を参照してしまう)
(そもそもlocalhost
の正体は127.0.0.1
という「ループバックアドレス」であり、自分のマシン自身だ。自分のPCをサーバーとして動かしているところに、自分のPCからアクセスするという自作自演をしている。)
よって、localhost
ではない、別のIPアドレスでアクセスできるようにしてやる必要がある。
そこで-b
オプションを使う。
bind
すなわち束縛の意味で、引数として渡したIPアドレスに結びつけてアクセスできるようにできる。
そこで、0.0.0.0
というアドレスを使う。
0.0.0.0
もlocalhostのように自分自身を表すが、ループバックではなく、外部からもアクセスできる自分自身である。
macが0.0.0.0
にRailsアプリを公開している状態になるので、そのネットワークに繋いでいる人は0.0.0.0
でアクセスできる。
これは、Parallelsも例外ではない。
よって、
rails s -b 0.0.0.0
としてサーバを起動し
http://0.0.0.0:8000/
のように任意のポート番号を指定することで、アクセスが可能になる。