*Squid リバースプロキシ設定例[#qb1cd10e]
* リバースプロキシ設定例[#qb1cd10e]
** 概要 [#q5aff7fb]
Squidでリバースプロキシサーバを構成し、ウェブサーバ(Apache)で提供するコンテンツ(動的な、CGIなども含めて)をキャッシュすることで、ウェブサーバの負荷を軽減する。
** 環境 [#d4017ff6]
- Squidのバージョンは2.6。
- ウェブサーバとSquidサーバは、物理的に同じサーバマシンとする。
- ウェブサイトは、Apacheでは名前ベースのバーチャルホストで運用する。
- ウェブサイトのドメイン名はwww.example.comとする。
- ウェブサーバはポート80で、Squidサーバはポート8080でサービスを提供する。
** インストール [#u460f15a]
- http://wiki.squid-cache.org/SquidFaq/BinaryPackages
** 設定 [#z75ed72c]
*** Apache httpd.conf [#qea494c6]
<Directory /home/www/htodcs/>
Header unset Pragma
Header unset Expires
Header unset Cache-Control
</Directory>
- Pragmaヘッダ等の出力を抑止する。
*** Squid squid.conf [#t4ae7955]
http_port 8080 vhost # (1)
visible_hostname squid-server # (2)
cache_peer 127.0.0.1 parent 80 0 no-query originserver # (3)
refresh_pattern . 30 100% 30 ignore-no-cache override-expire ignore-private override-lastmod ignore-reload # (4)
acl all src 0.0.0.0/0.0.0.0 # (5)
http_access allow all # (6)
- (1) Squidの起動ポートを指定(Apacheでバーチャルホストを利用のためvhostを指定)
- (2) Squidサーバ名を指定(任意)
- (3) 親サーバ(Apache)のIPアドレスとポートを指定(0/no-query:ICPは不使用)
- (4) ignore-*** override-*** は動的コンテンツもキャッシュするために設定
- (5) クライアントIPアドレス(全て)に対してアクセス制御名としてallを設定
- (6) allに対してアクセス許可
- 各設定の詳細は、http://www.squid-cache.org/Doc/config/ を参照のこと。
#title("Squid / リバースプロキシ設定例")