投稿数 585
公開から 2940

vagrantをwebサーバーとしてandoridとかで見られるようにしたい


Categories: utility-tools

要件

  • 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