1. はじめに

インフラ環境のリプレース案件のとき、リリース前の新環境の動作確認に必ずと言っていいほど使う「hosts」ファイル。
今回ある案件でインフラ環境のリプレースに携わり、web版・スマートフォンアプリ版の新環境の動作確認をする際
web版はPCの「hosts」ファイルを書き換えるだけで容易に確認できました。
しかし、スマートフォンには一般的に「hosts」ファイルをいじるような設定はなく非常に困りましたが
以下に記載する方法で確認することができたので、今回紹介していきたいと思います。

2. 概要

hosts設定を行うと言ってもスマートフォンのhostsファイルを書き換えるわけではなく
PCにProxyサーバを立てる・PCのhostsファイルを読み込せる、それらを経由することで新環境へアクセスさせる
という流れになっています。

3. PCにProxyサーバを立てる

今回使用したPCはM1 Mac Book Air (mac OS Ventura)です。

▼ Dockerをインストール

インストール方法はググれば出てくると思うのでここでは割愛させていただきます。

▼ Squidイメージを走らせる

$ docker run --name squid -d --rm -p 8080:8080 zakihmkc/squid

▼ PCのhosts設定

1.Finderを起動し、メニューバーの「移動」から「フォルダへ移動」を選択

2.「/private/etc」を入力して「移動先: private > etc」をクリック

3.「etc」フォルダから「hosts」ファイルを確認し、デスクトップへドラッグ&ドロップでコピー
4.デスクトップの「hosts」ファイルを右クリックし、「このアプリケーションで開く」から「テキストエディット」を選択

5. 以下のように新環境のIPアドレス(ELBのAレコードなど)と使用するドメインを設定
xxx.xx.xxx.xxx www.example.jp
xxx.xxx.xx.xx www.example.jp
6. 追加できたら保存し、デスクトップの「hosts」ファイルを「etc」フォルダへドラッグ&ドロップで置き換える

4.スマートフォンの設定

▼「3. PCにProxyサーバ立てる」で設定したPCのローカルIPアドレスを確認

システム設定 > Wi-Fi > 「⚫︎接続済み」のWi-Fiの詳細をクリック

▼ スマートフォンの設定

  ・iPhoneの場合

1.「設定」 > 「Wi-Fi」 > 「iボタン」 > 「プロキシを構成」
2.「手動」を選択し、サーバ・ポートを入力
・サーバ:上記で確認したPCのローカルIPアドレス
・ポート:8080
3.「保存」を選択

・Androidの場合

1.「設定」 > 「Wi-Fi」 > 「iボタン」 > 「プロキシ」
2.「手動」を選択し、ホスト名・ポートを入力
ホスト名:上記で確認したPCのローカルIPアドレス
ポート:8080

以上で「スマートフォンでhosts設定を行う方法」の設定は完了となります。

補足.もし上記でも設定できなかった場合

もし上記設定をしても上手くいかない場合はsquidを走らせているdockerコンテナに入って
そこのhostsの中身もPCのhostsと同じように変更してみてください。