Squidでリバースプロキシを構成する


リバースプロキシを構成する意味は、一言で言えば負荷軽減です。たとえば画像等の静的ファイルをアクセスする際にいちいちwebサーバとか画像サーバとかにアクセスが入ると、それだけで負荷になってしまいますよね、今回紹介する、Squidは、それは静的コンテンツを、キャッシュしてwebサーバに対するアクセスを軽減するのが目的のデーモンです。

すこし過去の構成ですが、こんなイメージでsquidを配置するイメージです。

1. squidのインストール
[root@yamato ~]# yum -y install 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ベーシック認証を通過させます

3.squidの起動
[root@yamato ~]# /etc/init.d/squid start

4.自動起動に設定
[root@yamato ~]# /sbin/chkconfig squid on

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です