6
10

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 3 years have passed since last update.

HTTPSをフォワード可能なフォワードプロキシをapacheで簡単につくる

Posted at

HTTPSをフォワード可能なフォワードプロキシをapacheで簡単につくる

社内からインターネットに繋げるときにプロキシを通らないといけない場合がありますよね?
あのプロキシをフォワードプロキシと呼ぶのですが
開発中にそのフォワードプロキシを自前で立てて検証しなければならないことがあったので、その時のメモです。

なお、Apache以外にもSquidやNginxもフォワードプロキシとして動作させることができますが
squidは情報があまり出てこず、NginxはHTTPS通信するのにソースからビルドが必要だったので
最も簡単だと判断したapacheの手順になってます。

検証した環境

  • CentOS 7.6
  • apache 2.4.6
  • SELinuxやFirewalldはOFFの状態

1. apacheのインストール

apacheと必要なパッケージをyumでインストールします。

$ sudo yum install httpd httpd-devel mod_ssl

2. 設定ファイルを作成する

/etc/httpd/conf.d/proxy.confを新規作成して、内容を以下にします。

Listen 3128
<IfModule proxy_module>
  ProxyRequests On
  ProxyVia      On
  ProxyTimeout  300
  AllowCONNECT 443
  CustomLog logs/proxy_log combined

  <Proxy *>
    Order allow,deny
    Allow from all
  </Proxy>
</IfModule>

Listen部分は空いている好きなポート番号を指定し、Allowは必要に応じて、アクセス元の制限をしてください

3. apacheの起動と自動起動設定

$ sudo systemctl start httpd.service
$ sudo systemctl enable httpd

ここまで設定すればHTTPSもフォワード可能なプロキシサーバの出来上がりです。

別のサーバからプロキシサーバとして利用してみる

$ export http_proxy=http://172.16.4.4:3128
$ export https_proxy=http://172.16.4.4:3128
$ curl https://www.google.com
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang・・・中略

無事つながりました!
172.16.4.4は今回立てたプロキシサーバのプライベートIPアドレス
3128は手順2で設定したポート番号ですので、試す場合は読み替えてください。

6
10
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
6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?