# Generated automatically from squid.conf.pre.in by configure. # # $Id: squid.conf.pre.in,v 1.93.2.13 1997/08/07 20:38:02 wessels Exp $ # ######################################################################### # squid.conf.pre.in の日本語訳 # これは v1.1.16 の squid.conf.pre.in のコメントを訳したものです。 # # 誤訳に気づかれた方は、間違いの部分を以下のアドレスまでメールでお教え # いただければ幸いです。なお、この訳によって派生する責任は一切負いません # # 翻訳者 松井健一 (NTT Network Service Systems Laboratories) # E-mail: matsui.kenichi@nslab.ntt.co.jp # # 1997/02/01 translated by Kenichi Matsui (v1.1.5) # 1997/02/15 translated by Kenichi Matsui (v1.1.6) # 1997/02/27 translated by Kenichi Matsui (v1.1.7) # 1997/03/14 translated by Kenichi Matsui (v1.1.8) # 1997/06/10 translated by Kenichi Matsui (v1.1.10) # 1997/09/16 translated by Kenichi Matsui (v1.1.16) ######################################################################### # 設定: http_port # squidが HTTPクライアントからのリクエストを受け付けるポートの番 # 号を指定する。デフォルトは 3128番。httpd-accel モードを使う場合は # 80番を使用すること。 # コマンドラインにおいて -a オプションで設定した番号はこの設定に # 優先する。 # #http_port 3128 # 設定:icp_port # squidが neighborキャッシュサーバに対してICP要求を送ったり、受 # け取ったりするポートの番号を指定する。デフォルトは 3130番。無効 # にするには 0番を使用すること。 # コマンドラインにおいて -u オプションで設定した番号はこの設定に # 優先する。 # #icp_port 3130 # 設定:mcast_groups # サーバがマルチキャスト化されたICP要求を受け取るために参加する # マルチキャストグループのリストを指定する。 # # 注意! ここで何を設定したのか十分に把握して下さい。ICP質問と # ICP返答の違いをしっかり理解して下さい。このオプションはマルチ # キャスト質問を”受け取りたい”場合にのみ、設定すべきものです。 # マルチキャストICPを”送りたい”場合には、このオプションを設定 # してはいけません(その際は cache_host オプションを使用してくだ # さい)。ICP返答は常にユニキャストで送られます。ゆえにこのオプショ # ンはマルチキャストグループのメンバーから返答を受け取るかどうか # には作用しません。 # # ほかのキャッシュグループが既に使用しているマルチキャストアドレ # スを使用”しない”よう、十分に気を付けなければなりません。 # NLANRは既にウェブキャッシング用のマルチキャストアドレス空間を # 割り当てています。あなた自身が使うためのアドレスを得るには、 # nlanr-cache@nlanr.net へその旨メールを送って下さい。 # # 使用法:mcast_groups 239.128.16.128 224.0.1.20 # # デフォルトでは、squidはマルチキャストグループの情報を参照しな # い。 # #mcast_groups 239.128.16.128 # 設定:tcp_incoming_address # 設定:tcp_outgoing_address # 設定:udp_incoming_address # 設定:udp_outgoing_address # # 使用法:tcp_incoming_address 10.20.30.40 # udp_outgoing_address 適切なドメイン名 # # これらの設定は、マルチホームを持つホストをより良く制御するため # に 'bind_address' と 'outbound_address' に置き換えられることだ # ろう。 # # tcp_incoming_address クライアントや他のキャッシュサーバから # の接続を受け付ける HTTPソケットに使用 # される # tcp_outgoing_address 他のサーバや他のキャッシュサーバへ接続 # する際に使用される # udp_incoming_address ICPソケットが他のキャッシュサーバから # パケットを受け付ける際に使用される # udp_outgoing_address 他のキャッシュサーバに対して送られる # ICPパケットに対して使用される # # デフォルトでは、どの特定のアドレスに対しても制限しない。 # # 注意:udp_incoming_address と udp_outgoing_address は、ともに # 同じポート 3130番を使用するため、同じ値を持 # つことができない。 # #tcp_incoming_address 0.0.0.0 #tcp_outgoing_address 0.0.0.0 #udp_incoming_address 0.0.0.0 #udp_outgoing_address 0.0.0.0 # neighbor選択アルゴリズムに影響する設定群 #----------------------------------------------------------------------------- # 設定:cache_host # 他のキャッシュサーバを階層構造中に指定する設定。次の書式を用い # る: # # hostname type http_port icp_port # # [設定例] # # # プロキシ icp # # ホスト名 タイプ ポート ポート オプション # # ------------------ ------- -------- ------ ----------- # cache_host bigserver.usc.edu parent 3128 3130 [proxy-only] # cache_host littleguy1.usc.edu sibling 3128 3130 [proxy-only] # cache_host littleguy1.usc.edu sibling 3128 3130 [proxy-only] # # タイプ: 'parent'もしくは 'sibling'もしくは'multicast' と設定する # # プロキシポート: キャッシュサーバがプロキシ要求を受け付ける # ポート番号 # # icpポート: neighborキャッシュサーバに対してオブジェクトの有無 # をただすためのポート番号。ICPを話さない neighborキャッ # シュサーバに対しては、ICPポートとして 7番を設定する。 # その際、当該neighborキャッシュサーバが /etc/inetd.conf # において有効なUDPエコーポートを持っていることを確認す # ること。 # # オプション: proxy-only # weight=n # ttl=n # no-query # default # round-robin # multicast-responder # # 'proxy-only':当該キャッシュサーバから取ってきたオブジェ # クトをローカルに保存しない。 # # 'weight=n':parentキャッシュサーバに重みをつける。 # weightは整数値でなければならない。デフォルトは # 1、より大きな weightはそのサーバを優先させる。 # # 'ttl=n':ICP要求を当該アドレスへ送る際に、IPマルチキャ # ストTTLを指定する。 # この指定は ICP要求をマルチキャストグループに送 # る場合にのみ有効。 # 予期しないホストからのICP返答を受け入れないた # めに、以降の 'multicast-responder'設定でグルー # プ内で仲間とするホストを設定しなければならない。 # # 'no-query':当該neighborに対してICP要求を送らない。 # # 'default':このオプションにより、当該parentキャッシュ # サーバを「最後の頼みの綱」として使用できる。 # 'default'オプションはあなたがparentキャッシュ # サーバ(群)とICPで通信できない状況下においての # み使用する。 # # 'round-robin':ICP質問が存在しない場合に、ラウンドロビ # ン的に使われるparentの組を定義する # # 'multicast-responder':サーバをマルチキャストグループ # のメンバーに指定する。ICP要求はそのサーバに直 # 接送られないが、そのサーバからのICP応答は受け # 入れる。 # # 注意:ICPを理解しない neighbor に対しては 'parent' と指定する # こと。 # # #cache_host hostname type 3128 3130 # 設定:cache_host_domain # neighborキャッシュサーバに対する質問にドメイン制限を行う設定。 # 使用法: # # cache_host_domain cache-host domain [domain ...] # cache_host_domain cache-host !domain # # [設定例] # # cache_host_domain bigserver.usc.edu .edu # # 上記の設定は、要求されたオブジェクトが .edu ドメイン内のサーバ # に存在する場合にのみ、UDPによる質問パケットが 'bigserver'に送ら # れる効果を持つ。ドメイン名の頭に '!'をつけると、当該ドメイン内 # に存在”しない”オブジェクトが質問される。 # # 注意: * 同じ行や分割された行にわたる全てのドメイン番号が、 # cache-host に対して適用される。 # * 特定の cache-host に対して複数のドメインが指定された # 場合は、初めにマッチしたドメインが適用される。 # * ドメイン制限されていない キャッシュサーバは、全ての # リクエストについて質問される。 # * この設定にデフォルトは存在しない。 # * ACL設定には、同様の 'cache_host_acl'設定が存在する。 # 設定:neighbor_type_domain # # 使用法:neighbor_type_domain parent|sibling domain domain ... # # 特定のドメインについて neighborタイプを変更することが可能になっ # た。ここでの設定により、'cache_host'で指定したデフォルトの # neighborタイプを いくつかのドメインについて変更することができ # る。通常、異なる設定を適用すべきドメインのみをリストすれば良い。 # なぜならリストされたドメインにマッチしないホスト名に対しては、 # デフォルトの neighborタイプが適用されるため。 # #[設定例]: # cache_host parent cache.foo.org 3128 3130 # neighbor_type_domain cache.foo.org sibling .com .net # neighbor_type_domain cache.foo.org sibling .au .de # 設定:inside_firewall # Internetファイヤーウォール内のドメインリストを設定する。 # # 使用法:inside_firewall my.domain [ my.other.domain ...] # !out.my.domain my.domain # # この設定は、サーバ選択アルゴリズムに次の2つの影響を及ぼす。リ # ストにあげられたドメインにマッチしないオブジェクトは”ファイヤー # ウォール外”と見なされる。その結果:” # - 当該URLのホストは DNS 正引きされない。 # - 当該オブジェクトは常に parent あるいは neighbor キャッ # シュサーバから取り寄せられる。 # # 特別の場合として、ドメインを 'none' と設定した場合、全てのリク # エストが parent あるいは neighbor キャッシュサーバから取り寄せ # られる。 # ドメイン名の冒頭に'!'をつけると、そのドメインはファイヤーウォー # ル外にいるという意味になる。 # #inside_firewall topsecret.com # 設定:local_domain # あなたの所属組織内のローカルドメインリストを設定する。 # # 使用法:local_domain my.domain [ my.other.domain ...] # # ローカルドメインのどれかに存在するURLについては、当該オブジェ # クトは常に直接取りに行き、neighbor もしくは parent からは取っ # て来ない。 # #local_domain bigbucks.com # 設定:local_ip # あなたの所属組織内のローカルネットワークアドレスリストを設定す # る。 # # 使用法:local_ip ip-address # # この設定は local_domain 同様のものである。ただし、ドメイン名に # 変わって IPアドレスを設定する。URLホストに対して、DNS正引きを # 行う必要がある。このため、local_domain は local_ip に優先する。 # local_domain の使用によって DNS正引きを全く行わないことが可能 # であり、その結果 オブジェクトを少ない遅延で提供することができ # る。 # #local_ip 10.0.0.0 #local_ip 172.16.0.0 # 設定:firewall_ip # # 'inside_firewall'と機能は同様であるが、これは IPアドレスに基づ # いて適用される。注意:firewall_ip と local_ip は相互排除である。 # もし firewall_ip を使った場合 local_ip は無視される。 # #firewall_ip 10.0.0.0 #firewall_ip 172.16.0.0 # 設定:single_parent_bypass # この設定により、 与えられたURLに対してただ一つのparentサーバし # か存在しない時、階層構造を迂回するかどうか指定できる。 # # 使用法:single_parent_bypass on|off # # parentサーバやneighborサーバに対しICPの"ping"パケットを送る前 # に、どのサーバに対して ping するかどうか cache_host_domain な # どの設定に従って、決定する。 # # parentサーバがただ一つの場合、結局最後にはそのサーバからオブジェ # クトを取って来ることになる可能性が高い。そこで、pingすることを # やめ、とにかくオブジェクトを取って来るほうがお得である。 # # しかしながら、pingをやめた場合、当該parentサーバへ到達可能であ # り、かつ そのサーバで キャッシュサーバプログラムが動いていると # 仮定することになる。pingを使えば、parentサーバが私達のリクエス # トを処理できることを確認することができる。もしpingに対し応答が # なかった場合、当該オブジェクトを本来のサーバから直接取って来る # ことが可能である。 # # pingアルゴリズムによるサーバの応答の方を重視するために、デフォ # ルトでは、single_parent_bypass は 'off' となっている。 # #single_parent_bypass off # 設定:source_ping # source_ping がonである場合、squid は オブジェクトを提供する本 # 来のサーバを選択アルゴリズムの対象とする。すなわち、ICP "HIT" # パケットを本来のサーバの UDP エコーポートに送る。source_ping # を使うこによって、インターネット上にかなりの量のUDPトラフィッ # クを生じさせ、その結果偏執的なネットワーク管理者をいらだたせる # ことになるので注意すること。 # # source_ping は inside_firewall と両立しないので注意すること。 # ファイヤーウォール内のホストに対し、source_ping パケットは決し # て送られない。 # # デフォルトでは、source_ping は off になっている。 # #source_ping off # 設定:neighbor_timeout (秒) # この設定は、neighborキャッシュサーバからの返答を待つ時間を制御 # する。もしここでの設定時間以内に parent,neighborキャッシュサー # バのどちらからも(パケット落ちやネットワークの遅さのために)返答 # がなかった場合、オブジェクトは本来のサーバからとって来る。デフォ # ルトの タイムアウト時間は 2 秒である。 # #neighbor_timeout 2 # 設定:hierarchy_stoplist # ここで指定した文字列がURL中に存在した場合、そのオブジェクトは # 直接とってくることとなる。言い換えれば、該当するオブジェクトに # ついての問合せを neighborキャッシュサーバにしない。このオプショ # ンは複数行指定することができる。 # # デフォルトでは、'cgi-bin' もしくは '?' をURL中に含むオブジェ # クトは直接取りにいく。 # hierarchy_stoplist cgi-bin ? # 設定:cache_stoplist # ここで指定した文字列がURL中に存在した場合、そのオブジェクトは # 即座にキャッシュから削除される。言い換えれば、該当するオブジェ # クトは決してキャッシュされないことになる。このオプションは複数 # 行指定することができる。 # # デフォルトでは、'cgi-bin' もしくは '?' をURL中に含むオブジェ # クトはキャッシュされない。 # cache_stoplist cgi-bin ? # 設定:cache_stoplist_pattern # 大文字小文字の区別あり # 設定:cache_stoplist_pattern/i # 大文字小文字の区別なし # # 'cache_stoplist'と良く似ているが、単純な文字列一致に替えて正規 # 表現を使うことができる。デフォルトは存在しない。 # #cache_stoplist_pattern # キャッシュサイズに影響する設定群 #----------------------------------------------------------------------------- # # 設定:cache_mem (megabytes) # オブジェクトを保持するメモリの上限値を設定す # る。 # この値には: # 通過中のオブジェクト、 # キャッシュされないオブジェクト、 # "hot" オブジェクト # も含まれる。 # この設定は、メモリに保管されているオブジェクトデータの pool の # 大きさの上限値である。これはオブジェクトデータを保管するために # 用いられる 4k pages の pool である。 # # 通過中のオブジェクトは他のオブジェクトに対し優先権を持っている。 # 新たに到着したデータのために更にメモリ領域が必要になった時、 # キャッシュされないオブジェクトと hot オブジェクトは おいだされ # る。言い換えれば、キャッシュされないオブジェクトと hot オブジェ # クトは 通過中のオブジェクトが必要としないメモリ領域を占領して # いる。 # # cache_mem_low と cache_mem_high(below) の設定により、メモリ # pool の使用を調整することができる。メモリ領域の使用が上限値に # 達した時、通過中のオブジェクトと hotオブジェクトは追い出される。 # オブジェクトの転送が終わった段階で、メモリ使用量が下限値以下の # 場合、それはメモリに残る。 # # デフォルトは 8 Megabytes である。 # #cache_mem 8 # 設定:cache_swap (megabytes) # キャッシュに使用されるディスク量の上限値を設定する。デフォルト # は 100 megabytes である。ディスク使用量がここで設定した値に達 # した時、キャッシュサーバプログラムは新しいオブジェクトをキャッ # シュする領域を確保するために、 LRU置き換えアルゴリズムに従って # 現在のオブジェクトを追い出す。 # cache_swap は次の式で設定されるので注意すること: # max(cache_mem, cache_swap_specified) # これは、ユーザがあやまって cache_mem よりも小さいcache_swapを # 設定する状況を警戒するためである。 # #cache_swap 100 # 設定:cache_swap_low (percent, 0-100) # 設定:cache_swap_high (percent, 0-100) # ここで設定される上下限値はLRU置き換えアルゴリズムに使用される。 # LRU置き換えアルゴリズムは 上限値に達した時開始され、十分なオブ # ジェクトが削除され下限値に達した時終了する。デフォルトは 90%と # 95%である。 # #cache_swap_low 90 #cache_swap_high 95 # 設定:cache_mem_low (percent, 0-100) # 設定:cache_mem_high (percent, 0-100) # キャッシュに使用されるメモリの上下限値に使用される。hot オブジェ # クトに使用されているRAMキャッシュの総量がこの値に達した時、キャッ # シュサーバプログラムはRAMキャッシュからオブジェクトを削除し始 # める(しかしディスクには残る)。デフォルトは 75%と90%である。 # #cache_mem_low 75 #cache_mem_high 90 # 設定:maximum_object_size # この設定値よりも大きいオブジェクトはディスクに保存されない。設 # 定は kilobytes 単位で行う。デフォルトは 4MBである。 # #maximum_object_size 4096 # 設定:ipcache_size (数) # 設定:ipcache_low (パーセント) # 設定:ipcache_high (パーセント) # IPキャッシュの数と上下限を設定する。 # #ipcache_size 1024 #ipcache_low 90 #ipcache_high 95 # ログファイルのパスとキャッシュディレクトリ #----------------------------------------------------------------------------- # 設定:cache_dir # ディスクへのキャッシュを行うディレクトリを設定する。キャッシュ # サーバプログラムは稼働するとこのディレクトリへ移動する。デフォ # ルトは /usr/local/squid/cache。 # # cache_dirは複数行にわたって指定でき、これにより異なったパーティ # ションのディスク領域を同時に使用できる。 # #cache_dir /usr/local/squid/cache # 設定:cache_access_log # クライアントの要求の状況を記録するファイルを指定する。ファイル # は受け取った全てのHTTPとICP要求を記録する。 # #cache_access_log /usr/local/squid/logs/access.log # 設定:cache_log # キャッシュ状況を記録するファイルを指定する。記録の度合は、以降 # の "debug_options" で設定する。 # #cache_log /usr/local/squid/logs/cache.log # 設定:cache_store_log # キャッシュ管理の動作状況を記録するファイルを指定する。ファイル # には、どのオブジェクトがキャッシュから消去され、どのオブジェク # トがどれくらいの期間保存されたかが記録される。 # 記録を取らない場合は、"none" を指定する。 # #cache_store_log /usr/local/squid/logs/store.log # 設定:cache_swap_log # swap log を記録するファイルの場所を指定する。この記録はディス # クに保存されたオブジェクトのメタデータを保管している。このファ # イルはキャッシュサーバプログラム開始時に、キャッシュを再構築す # るために使用される。通常 このファイルは 'cache_dir' で指定され # たディレクトリの最上部に位置するが、ここでそれに変わる場所を指 # 定できる。単にディレクトリを指定するのではなく、フルパスを指定 # する必要があるのに注意すること。 # 設定:emulate_httpd_log # キャッシュサーバプログラムは、ログファイルを多くの 'httpd' プ # ログラムが使用している形式を模倣して記録することができる。模倣 # させる/させない には、emulate_httpd_log を on/off と設定する # こと。デフォルトでは、本来の形式で記録される。 # #emulate_httpd_log off # 設定:log_mime_hdrs # キャッシュサーバプログラムは個々のHTTP処理における要求と応答の # MIME headers を記録することができる。headers はちゃんとエンコー # ドされ、access logの最後にかっこでくくられて記録される(本来の # 形式においても、'httpd' プログラムが使用している形式を模倣した # 場合でも)。このような記録を行うには、log_mime_hdrs を 'on'と # 設定すること。 # # 注意:この設定を行うには、コンパイル時に LOG_FULL_HEADERS を指 # 定する必要がある。 # #log_mime_hdrs off # 設定:useragent_log # "-DUSE_USERAGENT_LOG=1" をつけてコンパイルした場合、Squid は # HTTP要求中の User-Agent ヘッダをここで指定したファイルに記録す # る。デフォルトはファイルを生成しない。 # #useragent_log none # 設定:pid_filename # プロセスIDを記録するファイルのを指定する。記録しない場合は、 # "none" と指定する。 # #pid_filename /usr/local/squid/logs/squid.pid # 設定:debug_options # ログオプションは、セクションとそれぞれのセクションに対応したソー # スファイルにおけるレベルで設定される。低いレベルの場合少ない出 # 力となり、一方完全デバッグ(レベル9)は非常に大きなログファイル # を生成するので注意すること。"ALL" は、全てのセクションに対する # デバッグレベルを設定できる。通常は "ALL,1" と設定することを推 # 奨する。 # debug_options ALL,1 # 設定:ident_lookup # それぞれの接続において、ユーザの username を RFC931/ident # lookup したい場合は、この設定をonにすること。デフォルトは # off 。 # #ident_lookup off # 設定:log_fqdn # フルドメイン名を access.log に記録したい場合はこの設定を on に # する。 # #log_fqdn off # 設定:client_netmask # ログファイルとcachemgrの出力に現れるユーザのアドレスにかけるネッ # トマスクを指定する。あなたのキャッシュサーバのユーザのプライバ # シーを守るために設定するべきです。 # #client_netmask 255.255.255.255 # 実験的にサポートされたプログラムに関する設定 #----------------------------------------------------------------------------- # 設定:ftpget_program # FTPデータを探してもってくるプログラムである 'ftpget' のパスを # 設定する(HTTPとGopherはキャッシュサーバプログラムに組み込まれ # ている)。 # # FTPオブジェクトを探して持ってくることをしない場合は、"none" と # 設定する。http_accel モードに対しては、ftpget は自動的に無効に # なるので注意すること。 # #ftpget_program /usr/local/squid/bin/ftpget # 設定:ftpget_options # ftpget のオプションを設定する。ftpget を単独でオプションをつけ # ずに実行してみて、オプションのリストを見ること。デフォルトは # オプションなし。設定の例としては、 # # ftpget_options -n 60 -R -W # # などがある。 # #ftpget_options # ftp サイトに対してより詳しい情報を与えるために(そしてささいな # ことにやかましいftpサイトを使うために) anonymousログインパスワー # ドを設定したい場合は、ここであなたのドメインにふさわしいパスワー # ドを設定してください。例えば、wwwuser@somewhere.net のように。 # # デフォルトではドメインが指定されていない理由は、リクエストがあ # ちこちのドメインにいるユーザによって半分はなされるため。そして # それはキャッシュサーバの使用状況によるためである。 # またいくらかのFTPサーバはそのemailアドレスが妥当であることを証 # 明する。(たとえば perl.com) # #ftp_user squid@ # 設定:cache_dns_program # 実行可能なdnslookupプロセスの場所を設定する。 # #cache_dns_program /usr/local/squid/bin/dnsserver # 設定:dns_children # DNSの名前引きをサービスするプロセス数を設定する。高性能なサー # バにおける高負荷のかかるキャッシュプログラムでは、おそらくこの # 値を少なくとも 10まで増やすべきである。上限値は32である。デフォ # ルトは5である。 # # dnsserverを使用しない場合は、0と設定する。注意:この設定には大 # 変とてもがっかりさせられる。もしdnsserverを使わないと、あなた # のSquidプロセスは DNS正引きのために固まってしまうだろう! # #dns_children 5 # 設定:dns_defnames # 通常、dnsserver は resolver のオプションである(res_init(3)参照) # RES_DEFNAMES を無視している。これは階層構造にあるキャッシュサー # バがsingle-componentである(ドメイン名がない?)ホスト名を解釈し # ようとすることを防ぐ。dnsserverにsingle-componentなホスト名を # あつかわせるには、このオプションを有効にすること。 # #dns_defnames off # 設定: unlinkd_program # ファイル削除プロセスのための実行形式ファイルの場所を指定する。 # #unlinkd_program /usr/local/squid/bin/unlinkd # 設定: pinger_program # pingプロセスのための実行形式ファイルの場所を指定する。 # #pinger_program /usr/local/squid/bin/pinger # 設定:redirect_program # URLリダイレクタの実行形式ファイルの場所を設定する。現在のとこ # ろ、あなたは自分のリダイレクタプログラムを用意しなければならな # い。プログラムの作り方はリリースノートを参照のこと。デフォルト # では、リダイレクタは使用されない。 # #redirect_program /bin/false # 設定:redirect_children # リダイレクタプロセスのプロセス数。 # #redirect_children 5 # キャッシュ調節のための設定群 #----------------------------------------------------------------------------- # 設定:wais_relay # ホスト(1番目の指定)のポート(2番目の指定)に対するWAISプロトコル # による要求を中継する。 # #wais_relay localhost 8000 # 設定:request_size # 許される要求オブジェクトサイズの上限値を Kbyte単位で設定する。 # もしユーザがPOSTメソッドを使用してファイルをアップロードする場 # 合は、この値を認められた最大のファイルサイズに数Kbyte足した大 # きさに指定する。 # #request_size 100 # 設定:refresh_pattern # 大文字小文字の区別あり # 設定:refresh_pattern/i # 文字小文字の区別なし # # 使用法:refresh_pattern regex min percent max # # min と max は ”分”単位で設定する。 # percent は整数で設定する。 # # Squidのキャッシュ更新アルゴリズムの全容に関しては、どうか # doc/Release-Notes-1.1.txt をみてほしい。基本的に、キャッシュさ # れたオブジェクトは、 # # 新鮮である:if age < min # 新鮮でない:if expires < now # 新鮮でない:if age > max # 新鮮である:lm-factor < percent # # とされる。ここで設定した refresh_pattern の行は順番にチェック # される。最初にマッチした設定が使用される。もしマッチする設定が # 一つもなかったら、デフォルト値が使用される。 # #Default: #refresh_pattern . 0 20% 4320 # 設定:reference_age # 通常の動作の一部として、SquidはLRU(Least Recently Used:最も最 # 近に使用された)にもとづいてキャッシュオブジェクトの削除を行う。 # 削除に用いられるLRUの値は、使用中の合計ディスク量にもとづいて # 動的に計算される。'reference_age'の値は、最大LRU値を規定する。 # 例えば、'reference_age'を '1 week'(1週間)と設定すると、オブジェ # クトが1週間かそれ以上アクセスされなかった場合、削除される。 # もし0と設定したならば、LRUによる削除は抑制され、オブジェクトは # ディスク使用量が上限値を越えた場合にのみ削除される。デフォルト # は1年である。 # # 数字と時間の単位を指定すること。例えば次のように。 # 1 week # 3.5 days # 4 months # 2.2 hours # #reference_age 1 year # 設定:quick_abort # デフォルトでは、キャッシュサーバプログラムは途中で中止された要 # 求のオブジェクトの収得を続ける。この動作は遅い回線(例えば SLIP # など)や大変に忙しいキャッシュサーバにおいては望ましくない。我 # 慢強くないユーザは、オブジェクトの収得/中止を繰り返して、ディ # スクへのオブジェクトの保存を停滞させてしまう。 # # 使用法:quick_abort min-kbytes percent max-kbytes # # ユーザが要求を中止した時、Squidは残りのデータを転送する前に # quick_abortの値をチェックする。 # # もし転送中の残りデータが 'min-kbytes'以下だったら、最後まで収 # 得を行うminlength を -1 に設定すると、quick_abort の特徴は抑制 # される。 # # もし転送中の残りデータが 'max-kbytes'以上だったら、収得を中止 # する。 # # もし 'percent' 以上の割合で転送が済んでいたら、最後まで収得を # 行う。 # #quick_abort -1 0 0 # 設定:negative_ttl (分) # 失敗した要求の生存時間(TTL)を設定する。特定の失敗(例えば # "connection refused" や "404 Not Found")であった場合、これから # 先しばらくはキャッシュされない可能性がある。デフォルトは5分で # ある。これは DNS正引きにおける非キャッシュとは異なるのでに注意 # すること。 # #negative_ttl 5 # 設定:positive_dns_ttl (分) # DNS正引きに成功した、有望なIPアドレスのキャッシュにおける生存 # 時間(TTL)を設定する。デフォルトは6時間(360分)である。もしSquid # のIPアドレスのキャッシュの使用を最小化したい場合は、1にセット # することではない。 # #positive_dns_ttl 360 # 設定:negative_dns_ttl(分) # DNS正引きに失敗した、無効なIPアドレスのキャッシュにおける生存 # 時間(TTL)を設定する。 # #negative_dns_ttl 5 # タイムアウト #----------------------------------------------------------------------------- # 設定:connect_timeout (秒) # いくつかのシステム(特に Linux)は、connect(2)要求に対して適切な # タイムアウトをするかどうか信頼できない。それゆえ Squidプロセス # はサーバの接続に関して強制的にタイムアウトを強制し、この設定は # 接続完了までの待ち時間のキャッシュにおける設定し、終了する。デ # フォルトは2分(120秒)である。 # #connect_timeout 120 # 設定:read_timeout (分) # 実行中の接続は read_timeout分間 動作していなかった場合は中止さ # れる。(接続が構築される前に相手サーバがダウンしたりネットワー # クがダウンしたことが想定される)デフォルトは15分である。 # #read_timeout 15 # 設定:client_lifetime (分) # ユーザ(のブラウザ)が キャッシュプロセスを継続できる時間の上限 # 値。この設定は、きちんとシャットダウンしないまま(もしくはネッ # トワークの不調、あるいはユーザの使用ツールの不備のため)去って # しまったユーザのために、CLOSE_WAIT状態で停止したソケット(すな # わちファイルの記述)が、キャッシュサーバプログラムに数多く残る # ことを防止する。デフォルト値は3時間20分である。 # # 注意:このデフォルト値は低速回線のユーザを想定したものである。 # 200分は 1k/秒の転送速度において 10Mのファイルを転送するのに十 # 分な時間である。高速回線が使用できる環境の場合、もしくはときお # りファイルの記述が追いつかない場合、この値を適当に小さくするこ # とをすすめる。 # #client_lifetime 200 # 設定:shutdown_lifetime (秒) # # キャッシュサーバプログラムは SIGTERM か SIGHUP シグナルを受け # 取った時、全ての実行中のソケットが閉じられるまで "shutdown # pending" モードにはいる。ここでは shutdown モード中における全 # ての記述中のファイルの生存時間を指定する。指定時間が経過した後、 # 全ての実行中のユーザは 'lifetime expire' メッセージを受け取る。 # #shutdown_lifetime 30 # アクセスコントロール指定群 #----------------------------------------------------------------------------- # アクセスリストの設定 # # acl acl名 aclタイプ 文字列1 ... # acl acl名 aclタイプ "ファイル" ... # # "ファイル"を使った時、そのファイルは一行に一つのアイテムを含まねばな # らない。 # # aclタイプには、次のうちのどれかを指定する。 # src dst srcdomain dstdomain url_pattern urlpath_pattern # time port proto method browser user # # acl acl名 src ip-address/netmask ... (ユーザのIPアドレス) # acl acl名 src addr1-addr2/netmask ... (アドレスの範囲) # acl acl名 dst ip-address/netmask ... (URL ホストの IPアドレス ) # acl acl名 srcdomain foo.com ... (DNS逆引きによって得られる) # acl acl名 dstdomain foo.com ... (URLから得られる) # acl acl名 time [day-abbrevs] [h1:m1-h2:m2] # day-abbrevs: # S - 日曜日 # M - 月曜日 # T - 火曜日 # W - 水曜日 # H - 木曜日 # F - 金曜日 # A - 土曜日 # h1:m1 は必ず h2:m2 より前の時間でなければならない。 # acl acl名 url_regex ^http:// ... # URL全体にマッチする正規表現 # acl acl名 urlpath_regex \.gif$ ... # URLのパスにのみマッチする正規表現 # acl acl名 port 80 70 21 ... # acl acl名 proto HTTP FTP ... # acl acl名 method GET POST ... # acl acl名 browser regexp # acl acl名 user username ... # 身分証明の出力にマッチする。 # # 全ての空でない身分証明を持つ # # アクセスを受け入れるには、 # # REQUIRED を使う 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 SSL_ports port 443 563 acl Dangerous_ports port 7 9 19 acl CONNECT method CONNECT # 設定したアクセスリストに基づいてアクセスの許可・不許可を行う。 # # HTTPポートへのアクセス: # http_access allow|deny [!]acl名 ... # # ICPポートへのアクセス: # icp_access allow|deny [!]acl名 ... # # デフォルト値に関する注意: # # もし "access"関係の設定が存在しなかった場合は、デフォルトでそ # のリクエストを許可する。 # # もし "access"関係の設定のどれ一つとしてマッチしなかった場合、 # デフォルトではリストの一番最後にある設定行とは正反対の動作をす # る。もし最後の行が denyであった場合は、デフォルトは allowにな # る。逆に、もし最後の行が allowであった場合は、デフォルトは # denyになる。これらのことから、潜在的な混乱を防ぐために、"deny # all" か "allow all" といった設定をアクセスリストの最終行に行う # ことは良い考えである。 # キャッシュマネージャの操作はローカルホストからのみ許可する。 http_access deny manager !localhost http_access deny CONNECT !SSL_ports http_access deny Dangerous_ports # その他を全て許可する。 http_access allow all # 受け取った全てのICP質問に答える。 icp_access allow all # 設定:miss_access # neighborに対し、あなたのキャッシュサーバをparentではなく # siblingとして使用させることを強制する。例えば、 # # acl localclients src 172.16.0.0/16 # miss_access allow localclients # miss_access deny !localclients # # と設定する。この設定の意味するところは、あなたのローカルとされ # るキャッシュサーバに対してだけ MISSES を取ることを許し、他の全 # てのキャッシュサーバは HITS のみを取ることができる。 # # デフォルトでは、http_access を通ったキャッシュサーバ全てがあな # たのサーバから MISSES を取ることができる。 miss_access allow all # 設定:cache_host_acl # 'cache_host_domain' と似ているが、ACLを使うことによってより柔 # 軟に設定できる。 # # cache_host_acl cache-host [!]acl名 ... # # 注意: * キャッシュサーバに対しいくつでもACLを与えることがで # きる。同じ行においても、行を分割しても。 # * 特定のキャッシュサーバに対し複数の ACLを与えた時、最 # 初にマッチしたACLが適用される。 # * ドメインもしくはACLによる制限のないキャッシュサーバ # は全ての要求について質問される。 # * デフォルトはない。 # 管理に関する設定群 #----------------------------------------------------------------------------- # 設定:cache_mgr # キャッシュサーバが死んだ場合に送られるメールを受け取る、キャッ # シュサーバ管理者のメールアドレスを指定する。デフォルトは # "webmaster" である。 # #cache_mgr webmaster # 設定:cache_effective_user # キャッシュサーバが root で稼働する場合、その 有効な/実際の # UID/GID をここで指定した UID/GID にかえることができる。デフォ # ルトは UID/GID を変更しない。 # #cache_effective_user nobody nogroup # 設定:visible_hostname # エラーメッセージその他において、特別なホスト名を示したい場合は # 指定すること。指定しなければ、gethostname()の返値が使用される。 # #visible_hostname www-cache.foo.org # キャッシュサーバ登録サービスのための設定群 #----------------------------------------------------------------------------- # この章では、(オプショナルな)キャッシュアナウンスサービスに関す # る設定を行う。このサービスはキャッシュサーバ管理者がキャッシュ # 階層構造に参加したり、キャッシュ構築階層を構築する手助けとなる。 # # 'アナウンス'メッセージはSquidによって登録先に対し(UDPによって) # 送られる。デフォルトでは、以下の'cache_announce'を有効にしない # かぎりアナウンスメッセージは送られない。 # # アナウンスメッセージは、あなたのホスト名および設定ファイルに基 # づいた次の情報が含まれる。 # # http_port # icp_port # cache_mgr # # 現在の全ての情報は定期的に処理され、次のページで参照可能となっ # ている。http://www.nlanr.net/Cache/Tracker/ # キャッシュアナウンスを送る頻度を設定する。デフォルトは0であり、これ # は アナウンスメッセージを送らないことを意味する。 # # あなたのキャッシュサーバをアナウンスするには、以下の行のコメントを外 # すこと。 # #cache_announce 24 # 登録メッセージが送られるホスト名とポート番号を指定する。 # # 形式: announce_to host[:port] [filename] # # ホスト名のデフォルトは 'tracker.ircache.net'、ポート番号のデフォルト # は 3131である。もし 'ファイル名'が与えられると、ファイルに書かれた文 # 章がアナウンスメッセージに追加される。 # #announce_to tracker.ircache.net:3131 # HTTPD-ACCELERATOR 設定群 #----------------------------------------------------------------------------- # 設定:httpd_accel # squidを httpd accelerator として走らせたい場合、実際のHTTPサー # バのホスト名とポート番号を指定する。 # # もしバーチャルホストをサポートしたい場合は、ホスト名を # "virtual" と指定すること。 # #httpd_accel real_httpd_host real_httpd_port # 設定:httpd_accel_with_proxy # squidを、ローカルの httpd acceleratorおよび同時にプロキシとし # ても走らせたい場合は、'on'と設定すること。 # #httpd_accel_with_proxy off # 設定:httpd_accel_uses_host_header # HTTP/1.1による要求においては、Host: という基本的には当該URLの # ホスト名を指すヘッダが含まれている。Squidはこのヘッダを見るこ # とで異なったHTTPサーバの accelerator になることができる。しか # しながら、Squid は Hostヘッダの内容をチェックしない、ゆえにこ # れは大きなセキュリティホールとなっている。われわれは、あなたが # 自分の行うことをしっかり把握しないかぎり、このオプションを無効 # のままにしておくことを推奨する。 # #httpd_accel_uses_host_header off # その他 #----------------------------------------------------------------------------- # DNSテストは最初のサイトが成功裏のうちに見つけられたらすぐ終了する。 # # DNSテストをしたくないからといって、このリストをコメントアウトしたり # 消したりしてはいけない。代わりにコマンドラインで -D オプションを使用 # すること。 # dns_testnames internic.net usc.edu cs.colorado.edu mit.edu yale.edu # 設定:logfile_rotate # # USR1シグナルを受け取った時のlogfileのローテーションの数を指定 # する。デフォルトは10であり、これは0から9の拡張子でローテーショ # ンすることを意味する。logfile_rotate を 0と指定するとローテー # ションを行わないが、やはり logfiles はいったんクローズし再度オー # プンされる。これにより squidプロセスにUSR1シグナルを送った直後 # にあなた自身がlogfiles名を変更できる。 # #logfile_rotate 10 # 設定:append_domain # ドット(.)を含まないホスト名に付け足すローカルドメイン名を指定 # する。append_domain は必ずピリオド(.)から始めること。 # #append_domain .yourdomain.com # 設定:tcp_recv_bufsize # TCPソケットにおけるレシーブバッファの大きさを指定する。おそら # くカーネルのデフォルト値を変えるよりも簡単であろう。0を指定す # るとデフォルトのバッファサイズを使用する。 # #tcp_recv_bufsize 0 # 設定:ssl_proxy # 前述の 'cache_host'中のホスト名、もしくはホスト名とポート番号 # について、全てのSSL要求がフォワードされる設定。 # # 使用法: ssl_proxy cache_host # ssl_proxy host:port # #ssl_proxy # 設定:passthrough_proxy # 前述の 'cache_host'中のホスト名、もしくはホスト名とポート番号 # について、全ての non-GETなリクエスト(つまり POST,PUT)がフォワー # ドされる設定。 # # 使用法: passthrough_proxy cache_host # passthrough_proxy host:port # #passthrough_proxy # 設定:proxy_auth # 使用法:proxy_auth passwd_file [ ignore-domain ] # # 'passwd_file'はプロキシアクセスの認証に使われる。ファイルのス # タイルは apacheサーバのパスワード形式、つまりuser:passwordで、 # パスワードは標準的な crypt()フォーマットによる。プロキシ認証は # デフォルトでは無効になっている。 # # 'ignore-domain' は、認証が要求”されない”ドメイン名である。 # # 注意:この proxy_auth設定は、デフォルトのままSquidをコンパイル # してもサポートされない。この設定を使うには、src/Makefile の冒 # 頭にある USE_PROXY_AUTH オプションを有効にしてコンパイルしなけ # ればならない。 #proxy_auth /dev/null # 設定:err_html_text # エラーメッセージに付け加えられるHTMLテキストを指定する。管理者 # のメールアドレスへの "mailto" URLとしたり、部局の Webページへ # のリンクとしたりなどが考えられる。 # #err_html_text # 設定:deny_info # 使用法:deny_info URL acl # # 'http_access'の設定に反した要求に対し、HTTP redirect を返すこ # とができる設定。単一のACLはhttp_accessについてチェックする。 # 'deny_info'を設定すると Squidは該当ACLにあった場合与えられた # URLを返す。 # 設定:udp_hit_obj on|off # これを設定した場合、Squidはneighborに対し UDP_HIT_OBJ 応答を要 # 求する。UDP_HIT_OBJ はネットワーク帯域の占有量を抑制するのでよ # いが、別のいくつかの問題を生じる。ひとつはヒット率の計算が複雑 # になる。また、HTTPの要求ヘッダを含まないICP要求のために、応答 # に関して問題が生じる。 # #udp_hit_obj off # 設定:udp_hit_obj_size # # これを設定した場合、Squidは UDP_HIT_OBJ の大きさを設定した値以 # 下に制限する。SQUID_UDP_SO_SNDBUF が予想通りに動作しない時に設 # 定する。0に設定した場合、ソケットが値を選択できる。 #udp_hit_obj_size 0 # 設定:memory_pools on|off # これを設定した場合、Squidはアロケートされている(しかし使われて # いない)メモリプールを、今後の使用のために取っておく。もしメモ # リがシステムにとって貴重であるならば、これを無効にすること。 # #memory_pools on # 設定:forwarded_for on|off # これを設定した場合、SquidはシステムのIPアドレスかもしくは名前 # をHTTP要求時のフォワードメソッドに加える。デフォルトでは # 次のようになる。 # # X-Forwarded-For: 192.1.2.3 # # これを無効にすると、次のようになる。 # # X-Forwarded-For: unknown # #forwarded_for on # 設定:log_icp_queries on|off # これを設定した場合、SquidはICP要求を access.log に記録する。 # ICPの記録はデフォルトで有効となっている。なので以下の行のコメ # ントを外して変更すると、ICPの記録は行われない。 #log_icp_queries on # 設定:minimum_direct_hops # ICMPのpingを使用している場合、このホップ数以下の距離にあるサイ # トに対しては、直接オブジェクトを取りにいく # minimum_direct_hops 4 # 設定:cachemgr_passwd # cachemgrの操作にパスワードを設定する。 # # 使用法:cachemgr_passwd password action action ... # # 有効な動作は以下の通り: # shutdown * # info # stats/objects # stats/vm_objects # stats/utilization # stats/ipcache # stats/fqdncache # stats/dns # stats/redirector # stats/io # stats/reply_headers # stats/filedescriptors # stats/netdb # log/status * # log/enable * # log/disable * # log/clear * # log * # parameter # server_list # client_list # squid.conf * # # # * のついた動作は妥当なパスワードなしでは実行されない。そのほか # はここで指定しなくても実行される。 # # 動作を無効にするには、password を "disable"と指定する。 # パスワードなしで動作を有効にするには、password を "none"と指定 # する。 # # すべてのアクセスに対し同じパスワードを設定するには "all"という # keyword を使用する。 # # 例: # # cachemgr_passwd secret shutdown # cachemgr_passwd lesssssssecret info stats/objects # cachemgr_passwd disable all # #Defaults: none # 設定:swap_level1_dirs # キャッシュオブジェクトを格納するために作られる第1階層のディレ # クトリ数を指定する。最小値は1、最大値は256、デフォルトは16。 # #swap_level1_dirs 16 # 設定:swap_level2_dirs # 第1階層のディレクトリそれぞれの下に作成される第2階層のディレク # トリ数を指定する。最小値は1、最大値は256、デフォルトは256。 # #swap_level2_dirs 256 # 設定:store_avg_object_size # 平均オブジェクトサイズを指定する。キャッシュが保持できるオブジェ # クト数の概算に使用される。doc/Release-Notes-1.1.txtを参照のこ # と。デフォルトは 20K。 #store_avg_object_size 20 # 設定:store_objects_per_bucket # ハッシュテーブルに保管されるバケットあたりのオブジェクトの数を # 指定する。この値を小さくすると、バケットの総数と保管管理を行う # 頻度が増加する。デフォルトは20。 #store_objects_per_bucket 20 # 設定:http_anonymizer # プライバシー上の理由から、ある程度 HTTP要求のヘッダにフィルタ # をかけて取り除きたい場合はこの設定を有効にすること。この設定に # は、3通りの適切な設定方法がある。 # 'off' HTTP要求ヘッダは全て通過する。 # 'standard' 特定のヘッダが取り除かれる。 # 'paranoid' 特定のヘッダのみが通過を許される。 # どのヘッダが通過を許されるか、もしくは許されないか、については # どうかソースファイルである http-anon.c を見て欲しい。 #http_anonymizer off # 設定: # fake_user_agent # もしあなたが http_anonymizer を paranoid と設定している場合、 # Squid は(サーバへの)リクエストから User-agent 行を取り除きます。 # いくつかの Webサーバは User-agent 行が無いリクエストを拒否する # でしょう。そのようなサーバをごまかす時に、この設定を使います。 # 例えば: # # fake_user_agent Nutscrape/1.0 (CP/M; 8-bit) # (これを考えた Paul Southworth pauls@etext.org に功績を与えます!) # #fake_user_agent none # 設定: client_db # クライアント毎の統計を集めることをやめたい場合は、ここで # client_db を off にする。 # #client_db on # 設定: netdb_low # 設定: netdb_high # ICMP測定データベースの量の上下限を設定する。設定値は個数であり、 # パーセントではない。デフォルトは 900と1000である。上限に達した # 時、データベースのエントリーはその値が下限値に達するまで削除さ # れる。 # #netdb_low 900 #netdb_high 1000 # 設定: netdb_ping_rate # サイトを測定する時間間隔の最小値を設定する。同一ネットワークに # 対する成功したpingの間隔は、少なくともここで設定した時間間隔以 # 上あけられることとなる。デフォルトは5分である。 # #netdb_ping_period 5 minutes # 設定: query_icmp # 仲間のサーバからのICP返答中に、ICMPデータを含んでほしいと頼み # たい場合に、この設定を有効にする。 # # もし仲間のサーバがsquidをコンパイルする際に '-DUSE_ICMP=1'とい # うオプションをつけていた場合、その仲間は受け取ったURLの指すオ # リジナルサーバへ ICMP pingを送る。この設定を有効にした場合、そ # の仲間からのICP返答はICMPデータを含むであろう(もし可能なら)。 # すると、親キャッシュサーバを選ぶ時、Squidはオリジナルサーバに # 対し最も小さいRTTを持つ親キャッシュサーバを選択する。これが起 # こった時、access.log の階層構造を示す部分には # "CLOSEST_PARENT_MISS" と記される。この設定はデフォルトで off # である。 # #query_icmp off # 設定: icp_hit_stale # 古くなったキャッシュオブジェクトに対して ICP_HIT を返したい場 # 合、この設定を 'on'にする。もしあなたのキャッシュサーバが他の # 管理下にあるドメインのキャッシュサーバと siblingの関係にあるな # らば、'off'にするべきである。もしあなたのキャッシュサーバが、 # あなたの管理下にあるキャッシュとのみ siblingの関係にあるならば、 # おそらくこの設定を 'on'にしてもOKだろう。'miss_access'を使って # いる場合は、"決して" icp_hit_stale を有効にしてはいけない。 # #icp_hit_stale off # 設定: reload_into_ims # 'Pragma: no-cache' リクエストを If-Modified-Since リクエストに # 置き換えたい場合は、この設定を有効にすること。デフォルトでは # Off であり、使用による損害は各人の責任に帰する(use at your # own risk)。この機能はデフォルトではコンパイルされない。 # src/Makefile に -DRELOAD_INTO_IMS を加えなければならない。 # #reload_into_ims off