Squidでリバースプロキシを構成する
リバースプロキシを構成する意味は、一言で言えば負荷軽減です。たとえば画像等の静的ファイルをアクセスする際にいちいちwebサーバとか画像サーバとかにアクセスが入ると、それだけで負荷になってしまいますよね、今回紹介する、Squidは、それは静的コンテンツを、キャッシュしてwebサーバに対するアクセスを軽減するのが目的のデーモンです。
すこし過去の構成ですが、こんなイメージでsquidを配置するイメージです。
2.squid設定ファイル編集 * vi /etc/squid/squid.conf
▼squid(192.168.10.51)で、リクエストを受付、webサーバでキャッシュする、なお、当サイトはバーチャルホストを利用しているため、vhostのオプションをつける
Squid normally listens to port 3128
http_port 192.168.10.51:80 accel defaultsite=192.168.10.52 vhost
▼クライアントからのリクエストをすべて受け付ける
http_access allow localhost
http_access deny all
http_access allow all
▼キャッシュ対象サーバの設定 Web サーバーと Squid がやりとりをするための設定です。この例では、Squid は、192.168.10.52の Web サーバーの 80 番ポートにリクエストを送ります。 cache_peer ①192.168.10.52 ②parent ③80 ④0 ⑤no-query ⑥originserver ⑦login=PASS
①ターゲットのWEBサーバを指定します。 ②自分がキャッシュを持っていない場合にどの様にフォワードするかを指定します。 ▼parent リクエストをフォワードしてフォワード先にデータがない場合は自分は何もしない(指定したホストが変わりにファイルを探しにいく) ▼sibling リクエストをフォワードしてフォワード先にデータがない場合は自分でファイルを探しに行く といった違いがあるようです ▼multicast リクエストを複数のホストにフォワードします。 ③ プロキシとしてListenしてるポートの番号 ④icpをListenしているポートの番号(0は無効) ⑤指定したホストへicpのパケットを送らない ⑥オリジナルのWEBサーバである ⑦プロキシ経由でのapacheベーシック認証を通過させます