みなさん、こんにちは。
突然ですがみなさんは、Macでローカルサーバを立てた経験はありますか?
用途としては、ローカル環境での動作確認などですね。
プログラミングを始めたばかりの頃は、PCでの動作確認に目が行きがちですが、ふとした時に「スマホ(iphone)からでも、localhostにアクセスすることができるのか?」と思った経験はありませんか?
世の中では、クライアントからのアクセスをサーバが受け取るという流れがサーバを介したサービスの鉄則です。
つまり、原理的には自分のPCもサーバになりうるはずなのです。
そこで今回は、Macで立てたローカルサーバにiphoneのブラウザ(safari)でアクセスする方法を紹介していきます。
やり方自体はそれほど難しくはありませんが、ファイアウォールを設定しているとできなかったりするので、そこもしっかりまとめていこうと思います。
目次
iphoneでMacのlocalhostにアクセスする手順
Macでローカルサーバを立てる
まず最初に、Mac上でローカルサーバーを立てましょう。この作業をやらないことには、事が始まりません。
以下のコマンドを実行するとWEBrickというRuby標準ライブラリでHTTPサーバを簡単に作ることができます。
ターミナルで無事実行できましたら、PC上のブラウザで上のURLにアクセスできるか確認してください。
確認できたらlocalhostの立てること成功です。
IPアドレスを確認する
さて、上でPC上でアクセスしたURLは普段となんら変わらないかと思います。
しかしiphoneからアクセスする際には、「localhost」という部分をPCのIPアドレスにする必要があります。
IPアドレスの調べ方は、「システム環境設定」→「ネットワーク」の順番でみていきます。
すると「状況:接続済み」などと書かれている画面の中に、ピリオドで区切られた数字が現れるはずです。
例「192.XXX.X.X」のような文字列です。これがIPアドレスを確認できましたか?
IPアドレスを確認しつつ、もう一つ気をつける点は「PCとiphoneのネットワークを同じものにする」ということです。
実際にアクセスする
ここまできたら、後はiphoneからアクセスできるか確認するだけです。
上記のように、PC上からアクセスした時の「localhost」という部分をPCのIPアドレスに変更します。
アクセスできましたか?
もし「ページが開けません。サーバに接続できませんでした。」といった画面が出てきたら、ファイアウォールの設定でアクセスできていない可能性が高いです。
そんな時は以下を参考にしてみてください。
【ファイアウォール】アクセスできない時の対処法
ファイアウォールを有効化するのは、セキュリティの観点から見ると大切なことです。
が、今回は少し障壁となってしまうので設定を変更しましょう。
確認する項目は、「システム環境設定」→「セキュリティとプライバシー」→「ファイアウォール」という順で進んでいきます。
その中に、「ファイアウォールオプション…」という項目がありますので、鍵を開けて中身を見てみましょう。
その中で「外部からの接続をブロック」という設定をしていると、アクセスできません。
見つけたら、「外部からの接続を許可」に設定を変更してみましょう。
その後、ブラウザでページをリロードしてみてください。いかがでしょうか?
このように、ファイアウォールを設定してる方はハマりやすいので、気をつけましょう。
これでもダメな場合は、ファイアウォールを一時的にオフにする荒技もありますが、セキュリティ的にあまりおすすめできません。
まとめ
今回は、iphoneからMacのlocalhostにアクセスする方法をまとめてきました。ハマりポイントも載せてみたので、参考になれば幸いです。
今回のように自分のPCもサーバの役割を果たせるというのは、当たり前のことですが結構面白いと感じるのではないでしょうか?
これを機に、世の中のクライアント・サーバに対する見方が変わったり、興味が広がるとより良いかなと考えます。
えー本日も、ここまで読んでいただきありがとうございました。
コメントを残す