Devsway

日々の記録とか記憶とか。


要件



  • 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




カテゴリー

オレオレIT用語辞典