[Up] [Next] [Previous]

Squid Cached の設定

Squid Cached の設定は、 squid.conf ファイルにより行ないます。以下に設定パラメータの 概略を説明します。

http_port
HTTPクライアントを受け付ける TCP ポート番号を指定します。デフォ ルトでは、3128 が使用されます。WWWクライアントや隣接 Cached に よりアクセスされます。

icp_port
隣接 Cached からの ICP を受け付ける UDP ポート番号を指定します。 デフォルトでは、3130 が使用されます。

tcp_incoming_address
クライアントや他のキャッシュからHTTP接続を受け付けるアドレスを 記述します。

tcp_outgoing_address
接続できるサーバや他のキャッシュのアドレスを記述します。

udp_incoming_address
他のキャッシュサーバから ICP を受ける付けるアドレスを記述します。

udp_outgoing_address
他のキャッシュサーバに ICP を送信できるアドレスを記述します。

cache_host
キャッシュホストを指定します。

cache_host hostname type proxy_port icp_port options

hostname キャッシュホスト名
type キャッシュのタイプ (parent あるいは neighbor)
proxy_port Proxy 用のHTTPポート番号
icp_port キャッシュオブジェクトについて問い合わせを行う ICP のポート番号、ICPを受け付けない場合は echo ポート(7) を利用する
options
  • 'proxy-only' は、このホストがローカルにキャッシュを保持 していない事を意味する
  • 'weight=n' は neighbor に対する重み付を行う。数字が大き い程、優先される(デフォルトは1)。優先される parent は よ り良い RTT を持っているものを設定して下さい。
  • 'no-query' は、UDPトラヒックが通らないような場所にサーバ を置いた時のためのオプションで、ICP を発呼しななります。

parent と neighbor の違いについて

parent は、そのキャッシュサーバにデータ(オブジェクト)がキャッシ ングされていない場合、parent にキャッシュデータ取得の依頼をしま す。neighbor は、隣接キャッシュサーバにキャッシングされていれば、 オブジェクトを取得しますが、無ければ、自分自身が HTTP で取得し ます。

cache_host_domain
cache_host_domain cache-host domain [domain ...]
cache_host_domain cache-host !domain

隣接サーバからの問い合わせをアクセスするドメイン単位で制限しま す。例えば、下記のように設定すると、jp ドメインのアクセスに対す る UDP query は cached.foo.co.jp に行います。

cache_host_domain  cached.foo.co.jp       .jp
       
"!" は否定形です。

inside_firewall
Firewall 内のドメインをリストアップします。これを指定するとサー バ選択アルゴリズムが変わります。リストアップされたドメインと一 致しないオブジェクトは Firewall の外にあると解釈され、
  • DNS で検索されない
  • オブジェクトは常にneighbor やparent キャッシュからデータ が取得される。

local_domain
ローカルドメインを指定します。ローカルドメインのURLに対しては常 に直接データを取得し、neighbor や parent キャッシュからデータを 取得しません。

local_ip
ドメイン名ではなく、IPアドレスという点を除いて、 local_domainと同じ働きします。

firewall_ip
ドメイン名ではなく、IPアドレスという点を除いて、 inside_firewallと同じ働きします。firewall_ipを 指定するとlocal_ipは無視されます。

single_parent_bypass
parent 一つの設定の場合、相手ホストが生きているかの確認を行いま せん。

source_ping
source_ping を有効(on)にすると、クライアント側のUDP echoポート に ICP "HIT" パケットを送ります。

neighbor_timeout
隣接キャッシュからの応答の待ち時間(秒)を指定します。デフォルト は 2 秒です。

hierarchy_stoplist
隣接キャッシュに問い合わせない URL をリストアップします。

cache_mem
オブジェクトを一時的に仮想記憶に蓄える際に使用する最大サイズを 指定します (MB)。

cache_swap
キャッシュのディスク容量を指定します。

cache_swap_lowcache_swap_high
使用するキャッシュディスク容量の上下限値を指定します(パーセント)。 上限に達したら、LRU (Least Recently Used) 変更を開始し、下限値 になるまでオブジェクトが削除されます。

cache_mem_lowcache_mem_high
使用するキャッシュメモリ容量の上下限値を指定します(パーセント)。

cache_dir
キャッシュ用ディレクトリを指定します。複数のパーティションにわ ける場合は複数行指定します。cache_dir行は100行まで記述できます。 それぞれ、1 GB のキャッシュを持つディスクがあった場合、下記のよ うに記述します。(全部で 4GB)

cache_dir /var/www_cache1
cache_dir /var/www_cache2
cache_dir /var/www_cache3
cache_dir /var/www_cache3
       
emulate_httpd_log
httpd (ncsa, apache 等) プログラムのログをエミュレートする場合 に on を指定します。

pid_filename
squid デーモンのプロセスIDを書いたファイルのパス名を指定します。

debug_options
ログのオプションを "section,level" というフォーマットで指定しま す。

http_stop, gopher_stop, ftp_stop
キャッシュを行なわないURLを指定します。

http_stop http://www.foo.co.jp/
       
ftp, gopher, http
オブジェクトサイズの限度(MB)とデフォルト TTL を指定します。

なお、サイズ限度は cache_memの値を越えてはなりません。

access_type       オブジェクトサイズ      TTL
       
request_size
許される最大リクエストサイズを指定します(KB)。ユーザがアップロー ドを行うような場合に、大きな値を必要とするかも知れません。

ttl_pattern
保存する期間を決定します。

acl, http_access
アクセス制御を指定します。

192.178.1.0 〜 192.168.3.255 までのアクセスを許す場合、次のよう に記述します。

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
acl foo src 192.178.1.0/24 192.178.2.0/24 192.178.3.0/24
acl SSL_ports port 443 563
acl CONNECT method CONNECT

#
http_access deny manager !localhost !kdd
http_access deny CONNECT !SSL_ports

#
http_access allow  foo

# Reply to all ICP queries we receive
icp_access  allow  foo
       

Squid Cached の起動

squid デーモンを起動すると、squid、dnsserver、ftpget デーモンが起動し ます。

# /usr/local/squid/bin/squid &

もしくは、

# /usr/local/squid/bin/RunCache &


[Up] [Next] [Previous]