3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Apacheでフォワードプロキシを多段にする

Last updated at Posted at 2019-10-08

TL;DR

  • Apacheでフォワードプロキシを構築できる
  • さらに、ProxyRemoteディレクティブを併用することでフォワードプロキシを多段にすることができる
  • ProxyRemoteで指定するプロキシは、認証などは利用できない

環境

Ubuntu Linux 18.04 LTS。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:    18.04
Codename:   bionic

Apache。

$ /usr/sbin/apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2019-09-16T12:58:48

また、フォワードプロキシとするApacheは、172.17.0.2で動作しているものとします。

フォワードプロキシを設定する

Ubuntu Linux上のApacheなら、a2enmodコマンドでモジュールを有効にできます。

$ sudo a2enmod proxy_http proxy_connect

フォワードプロキシの設定に必要なモジュールは、こちら。

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_connect.so

Apache Module mod_proxy

Basic Examples

プロキシのリッスンポートは8080にして、フォワードプロキシを設定。

Listen 8080

<VirtualHost *:8080>
  ProxyRequests On
  ProxyVia On

  <Proxy *>
    Require ip 172.17.0  ## アクセス許可するIPアドレス帯など
  </Proxy>
/VirtualHost>

さらにこれを多段にする場合、ProxyRemoteディレクティブを併用します。

ProxyRemote Directive

Listen 8080

<VirtualHost *:8080>
  ProxyRequests On
  ProxyVia On

  <Proxy *>
    Require ip 172.17.0  ## アクセス許可するIPアドレス帯など
  </Proxy>

  ProxyRemote * http://[your-proxy-host]:[your-proxy-port]
</VirtualHost>

これで、このApacheをフォワードプロキシとして使い、さらにApacheはProxyRemoteで指定したプロキシとして動作するようになります。

確認。

$ https_proxy=http://172.17.0.2:8080 curl -I https://www.google.com/

$ http_proxy=http://172.17.0.2:8080 curl -I wttr.in/tokyo?lang=ja

なお、ProxyRemoteで指定するプロキシ先にusernamepasswordは指定できない(URLに含めることができない)ので、認証付きプロキシが背後にいる場合は、Squidを使った方が良さそうです。

ところで、なんに使うの?

プロキシを踏まないとインターネットに出れない!

でも、外部にアクセスした時のアクセスログを見たい!

といった時などにでもどうぞ。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?