2017年12月21日木曜日

ApacheでHTTPSを通すフォワードプロキシ

XAMPPのapache2.4でhttpsを通すフォワードプロキシを構築。今どきのサイトはほとんどがhttpsになっている。httpを通すことができる設定はいろいろなところに載っているがhttpsだと追加設定が必要で嵌ったのでメモ。 まずはxamppフォルダのapache\conf\httpd.confでプロキシに必要なモジュールを有効に。 mod_proxyとmod_proxy_httpだけじゃなくて、mod_proxy_connectも有効にするのがポイント。
...
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
#LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
...
次に、apache\conf\extra\httpd-proxy.confにプロキシ設定を書く。httpsを通すときはAllowCONNECTが必要。
<IfModule proxy_module>
<IfModule proxy_http_module>

# ここから
ProxyRequests On
ProxyVia On
AllowCONNECT 443

# allow request from 127.0.0.1
<Proxy *>
      Require ip 127.0.0.1/32
</Proxy>
# ここまで追加

</IfModule>
</IfModule>
これで、apacheをリスタートすればhttpsが通るフォワードプロキシとなる。 この設定では127.0.0.1からのリクエストのみ通すよう Require ip で制限をかけているのでそこは適宜読み換えてください。