要件
- vagrantをwebサーバーとして使いたい。
- 同じRANのなかで使う。
- androidとかでデバックするために使う。
macをプロキシとして使う、それによってhostsも書き換えもいい感じにしてくれる・・みたい。
実装・手順
Proxyの設定ファイル
「/private/etc/apache2/other/proxy.conf」を新規作成
# 「/private/etc/apache2/other/proxy.conf」を新規作成
<IfModule mod_proxy.c>
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
# ここが非常に重要です!!!外部からのアクセスはできないようにして同じwifi環境のみアクセスできるようにします。
# wifiのルータのファイアウォール等もありますが、念の為!!
Allow from 192.168.1
</Proxy>
</IfModule>
/etc/apache2/httpd.confを編集してプロキシ機能を有効にする
やっていることとしては
LoadModule {プロキシで必要なモジュール}
で必要なモジュールを読み込んでいます。
mod_proxy.soがおおもとであとは必要なモジュールをよしなに読み込む、、みたいな感じです。
たとえばmod_proxy_httpはhttpリクエストをプロキシするために必要です。
あとは・・・Apacheの専門家でないので、割愛します。
# /etc/apache2/httpd.confを編集してプロキシ機能を有効にする
# コメントアウト化されているので有効化する。(=「#」を外す)
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule proxy_scgi_module libexec/apache2/mod_proxy_scgi.so
LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so
LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so
Include /private/etc/apache2/other/*.conf
有効化
sudo apachectl start
andorid側のプロキシの設定
さいごにandroid側にプロキシを通してアクセスしてねー、と命令します。
これに関しては、他のサイトを見てください。爆
割愛します。
テストしてみる
① vagarntのローカルホスト(例 hogehoge.test)にアクセスしてみる。
見れました!
hostsとかって編集する必要ある?
いらないみたいです。
macのhostsを参照してくれているみたい。
通信内容を確認する
tail -f /private/var/log/apache2/access_log
ちなみこれはフォアードプロキシ?リバースプロキシ?
フォアードプロキシです。
参考
https://httpd.apache.org/docs/2.4/mod/mod_proxy_connect.html
最近のコメント