Apache 2.4 でフォワードプロキシ
インターネットに直接疎通のないサーバからインターネットに HTTP (HTTPS) アクセスできるようフォワードプロキシを設定するメモ。
イメージ
[Server] [Server] --> [HTTP Proxy Server] --> The Internet [Server]
プロキシサーバ
Apache を導入する。CentOS7 の場合 Apache 2.4 系が導入される
# yum install httpd
# tree /etc/httpd/ /etc/httpd/ |-- conf | |-- httpd.conf | `-- magic |-- conf.d | |-- 00-logformat.conf | |-- README | |-- autoindex.conf | |-- proxy.conf | |-- userdir.conf | `-- welcome.conf |-- conf.modules.d | |-- 00-base.conf | |-- 00-dav.conf | |-- 00-lua.conf | |-- 00-mpm.conf | |-- 00-proxy.conf | |-- 00-systemd.conf | `-- 01-cgi.conf |-- logs -> ../../var/log/httpd |-- modules -> ../../usr/lib64/httpd/modules `-- run -> /run/httpd
設定例。安全のためプロキシサーバを利用させたいネットワーク範囲を必ず指定すること
# cat /etc/httpd/conf.d/proxy.conf Listen 192.168.10.1:8080 <VirtualHost *:8080> ProxyRequests On ProxyVia On <Proxy *> Require ip 192.168.10.0/24 Require local </Proxy> CustomLog logs/proxy.access.log combined ErrorLog logs/proxy.error.log </VirtualHost>
# systemctl restart httpd
プロキシサーバを利用する方法
例
# http_proxy="http://192.168.10.1:8080/" https_proxy="http://192.168.10.1:8080/" yum update
毎回指定するのは面倒なので、 /etc/profile.d あたりで設定するのがおすすめ
# cat /etc/profile.d/proxy.sh export no_proxy="127.0.0.1,localhost" export http_proxy="http://192.168.10.1:8080/" export https_proxy="http://192.168.10.1:8080/"