NETWORK ENGINEER BLOG

Tips and Reviews for Engineers

リバースプロキシ(Squid)簡易構築手順

リバースプロキシとは

クライアントからのサーバーへの通信に対して、代理(Proxy)で応答しつつ、通信を中継する機能、あるいはその役割を担うサーバー
出典:@IT リバースプロキシ(Reverse Proxy)

リーバスプロキシの主な特徴

セキュリティ

DMZ に設置したリバースプロキシを配置すれば、(重要なデータを扱っている)Web サーバー/アプリは直接インターネットに接する必要がない。
また、リバースプロキシ上で SSL や WAF(Web アプリケーションファイアウォール)などのセキュリティ対策をすれば、Web サーバ/アプリに直接手を加えることなく安全性を高められる。

負荷分散

同じ処理をする Web サーバー/アプリを複数用意しておき、リバースプロキシによってリクエストを分散させることができる。
クライアントからは単一サーバー構成と変わらず、大量のアクセスをさばけるシステムを構築できる。

リバプロお試し

テスト環境

f:id:FriendsNow:20200321210829p:plain

Web サーバ設定(CentOS 8.1)

# systemctl start httpd
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --reload
# firewall-cmd --list-all | grep http
  services: cockpit dhcpv6-client http ssh

リバースプロキシ設定(CentOS 6.3)

squid.conf 設定

# 59 行目追記
http_access allow all

#60 行目コメントアウト
# http_access deny all

# 64行目追記(転送先 Web サーバーの IP アドレスを指定)
http_port 80 defaultsite=10.1.23.253

# 最終行に追記(転送先 Web サーバーの IP アドレスを指定)
cache_peer 10.1.23.253 parent 80 0 no-query originserver

# 最終行に追記(メモリキャッシュサイズ)
cache_mem 256 MB

# 最終行に追記(ホスト名定義)
visible_hostname prox.srv.world

squid 再起動

# /etc/rc.d/init.d/squid restart

クライアントからリバースプロキシへアクセス

クライアントから、リバースプロキシサーバーに Web アクセスすると、リバースプロキシサーバーが Web サーバーの代理で応答を行い、Web ページが参照可能となります。
f:id:FriendsNow:20200321210725p:plain

以上