ふりぶろぐ
Web Engineer's Blog
Mac

ローカルのhostsを切ってサーバIPへアクセスする

サーバIPでローカルのhostsを切ってアクセスをお願い致します。

別の方がインフラを構築し、そのサーバにPHPで作成したアプリケーションを配置する、といった作業をする必要がありました。

アプリケーションの動作確認の方法がわからなかったので確認したところ、このような回答が返ってきました。

この人は何を言っているんだ…と少々悩みました。

とりあえず「ローカルのホストを切る」でググってみる。

そしてhostsファイルの話が出てきて、ようやく意味を理解しました。

以前、一度だけhostsファイルを触ったことがあったので、存在や使い方は知っていました。

hostファイルに対象のIPとドメインを設定してアクセスしてくださいということ。

hostsファイルとは

Macの場合、/private/etc/hostsに配置されています。

IPとドメインを紐付けることができ、こちらの設定はDNSより優先されます。

例えばローカルホストは 127.0.0.1, localhost どちらにアクセスしても同じですよね。

これはhostsファイルでそのように設定されているからです。

実際にこのような記述があると思います。

127.0.0.1       localhost

こちらを利用することでサーバIPでローカルのhostsを切ってアクセスできるようになります。

実際にやってみる

やることは非常に簡単で1行追記するだけです。

まずはhostsファイルを開きます。

sudoをつけないと編集できないと思うので注意。

$ sudo vi /private/etc/hosts

その後、localhostの設定を真似て追記します。

IPアドレス + スペース + ドメイン のように設定します。

XX.XXX.XXX.XX test.xxxx.jp

あとはtest.xxxx.jpにアクセスするとXX.XXX.XXX.XXの内容が表示されると思います。

なぜhostsを使うのか

私の固定観念として、ドメインがなければIPでアクセスするというものがありました。

そのため、IPでアクセスするものだと思いこんでしまい、なかなか思いつきませんでした。

なぜ、わざわざhostsを切る必要があるのか考えたところ、Apacheの設定が関係していそうです。

こちらのサーバでテスト環境、本番環境をすべて扱っているので、おそらく、アクセスするアプリケーションをドメインによって振り分ける設定がされています。

そのため、ドメインでアクセスしないと、そもそも接続ができない状態となっていました。

そこで、hostsを使ってドメインでアクセスする必要がありました。

まとめ

あまりこのような場面はないと思いますが、リニューアルだったり、リプレースだったりを行う際には必要になるかもしれません。

hostsでの設定はDNSより優先されるので、使い方によっては非常に便利です。

使う機会は少ないですが、DNS関連の作業をする際には使いこなしたいですね。

ABOUT ME
りーふ
たまにブログを書いてるWebエンジニア。 サーバーサイドメインでインフラとフロントエンドもたまにやります。 Javaが得意。 Play Frameworkが好き。 本業は迷惑をかけない程度に手を抜くスタイル。 意識高い系は苦手。