目的
・apache(httpd)でWebProxy(ForwardProxy)を作成する
・URLベースのWhiteList制御が行えるか確認する(動作確認中)
httpd
# yum install httpd
バージョン
# httpd -v
Server version: Apache/2.2.31 (Unix)
Server built: Jul 19 2016 00:11:31
モジュールの確認
(まずはProxyを作りたい。だいたい揃っていそう。デフォで読む感じになっている)
# cat /etc/httpd/conf/httpd.conf | grep -e proxy_module -e proxy_ftp_module -e proxy_connect_module
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
Listen 8080
<IfModule proxy_module>
ProxyRequests On
ProxyVia On
CustomLog logs/proxy_log combined
<Proxy *>
Order deny,allow
Deny from all
Allow from {対象のセグメントのCIDRとか}
</Proxy>
</IfModule>
クライアント側の設定
cat << _EOF_ >>~/.bash_profile
export HTTP_PROXY=プロキシサーバのIP:Port
export http_proxy=プロキシサーバのIP:Port
export HTTPS_PROXY=プロキシサーバのIP:Port
export https_proxy=プロキシサーバのIP:Port
_EOF_
PROXYとして動作OK
# wget http://google.co.jp
--2017-02-14 14:55:02-- http://google.co.jp/
Connecting to XX.XX.XX.XX:8080... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.co.jp/ [following]
--2017-02-14 14:55:02-- http://www.google.co.jp/
Connecting to XX.XX.XX.XX:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.1’
index.html.1 [ <=> ] 10.72K --.-KB/s in 0s
2017-02-14 14:55:02 (186 MB/s) - ‘index.html.1’ saved [10975]
・WhiteList(整理中)
Listen 8080
<IfModule proxy_module>
ProxyRequests On
ProxyVia On
RewriteEngine On
CustomLog logs/proxy_log combined
<Proxy *>
Order deny,allow
Deny from all
Allow from XX.X.X.
# RewriteCond %{REMOTE_HOST} !^http://google.co.jp [NC]
# RewriteCond %{REQUEST_URI} !^http://google.co.jp/ [NC]
RewriteCond %{QUERY_STRING} !^http://google.co.jp/ [NC]
RewriteRule ^ http://www.example.com/ [R]
</Proxy>
</IfModule>
→www.example.comに行ってしまう。。。。