hostsファイルで設定したURLに Android でアクセスする方法(for macOS)
Androidの検証をする為に、SquidMan というツールを使ってプロキシサーバーを立てました。その設定方法を備忘録として残しておきます。
プロキシとは
自分のパソコンやスマホに変わってWebサイトにアクセスしてくれるサーバーのことです。プロキシ(proxy)は「代理」という意味で、ブラウザの代理人のような存在です。
参考サイト
SquidManの設定
SquidMan のダウンロード
自分のMacのOSバージョンを確認し、SquidManをダウンロードします。
SquidMan の設定
General の設定
初期設定のままでOKです。
Clients の設定
"192.168.1.0/24" を設定しました。
特定のネットワークに所属する端末がプロキシサーバーにアクセスすることを許可する場合に設定するIPアドレスのようです。
Template の設定
localhost上で動作するwebサービスへのアクセスを許可する必要があるので下記の制限をコメントアウトします。コメントアウトは記述の先頭に「# 」をつけます。
コメントアウトした記述の上に書いてある文の直訳をgoogle先生に聞いてみました。
「外部ユーザーからプロキシホスト上で実行されているWebアプリケーションを保護する」
という内容だそうです。
# protect web apps running on the proxy host from external users # http_access deny to_localhost
私の場合は、Proxy経由のリクエストの一部を別のIPに振り分けたいのでhostsファイルを参照するようにしました。hostsファイルの場所を Template の一番下に追記します。
# hosts file hosts_file /etc/hosts
参考サイト:iPhone,Androidの実機から開発用localhost等にProxy経由でアクセスさせてテストする方法 | Qiita
Template の書き換えができたら、Save します。
Start Squid
Start Squid してプロキシサーバーを立ち上げます。
※設定画面を再度開きたい場合は、「command」 + 「, 」で表示させることができます。
Android にプロキシ設定
設定画面を開きます。
Wi-Fi 設定を開きます。
PC が接続しているWiFiと同じWi-Fiに接続し、接続したWi-Fi名を長押しします。
長押しすると「ネットワークを変更」ボタンが出現します。
詳細設定項目を開きます。
プロキシ 設定を「手動」にします。
プロキシ 、ポートを設定します。「インターネット非接続時も有効」という項目はあればチェックを入れておきます。
プロキシはPCの「システム環境設定」→「ネットワーク」に書いてあるIPアドレスを入力します。
ポートはSquidManで設定した HTTP Port を入力します。デフォルト設定のままなら「8080」です。
最後に、Android で接続したかったURLにアクセスして、繋がったら成功です。