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をインストール(Homebrewでインストール)

$ brew install --cask docker

▼ Squidのコンテナを動かす

1. 任意のディレクトリを作成(デスクトップ等に作成する)
$ mkdir squid-proxy

2. 作成したディレクトリ配下にsquid.confを作成
$ vi squid.conf
# ポート
http_port 8080
# アクセス許可
http_access allow all

3.コンテナを動かす
docker run --name squid-test -d \
-p 8080:8080 \
-v $(pwd)/squid.conf:/etc/squid/squid.conf \
ubuntu/squid:latest

▼ 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と同じように変更してみてください。