cf.data.pre
上传用户:liugui
上传日期:2007-01-04
资源大小:822k
文件大小:75k
- #
- # $Id: cf.data.pre,v 1.144.2.1 1999/02/09 23:10:31 wessels Exp $
- #
- #
- # SQUID Internet Object Cache http://squid.nlanr.net/Squid/
- # ----------------------------------------------------------
- #
- # Squid is the result of efforts by numerous individuals from the
- # Internet community. Development is led by Duane Wessels of the
- # National Laboratory for Applied Network Research and funded by the
- # National Science Foundation. Squid is Copyrighted (C) 1998 by
- # Duane Wessels and the University of California San Diego. Please
- # see the COPYRIGHT file for full details. Squid incorporates
- # software developed and/or copyrighted by other sources. Please see
- # the CREDITS file for full details.
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- #
- COMMENT_START
- WELCOME TO SQUID 2
- ------------------
- This is the default Squid configuration file. You may wish
- to look at http://cache.is.co.za/squid/ for documentation,
- or the Squid home page (http://squid.nlanr.net/) for the FAQ.
- The default Squid config file shows what the defaults for
- various options happen to be. If you don't need to change the
- default, you shouldn't uncomment the line. Doing so may cause
- run-time problems. In some cases "none" refers to no default
- setting at all, whilst in other cases it refers to a valid
- option - the comments for that keyword indicate if this is the
- case.
- COMMENT_END
- COMMENT_START
- NETWORK OPTIONS
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: http_port ascii_port
- TYPE: ushortlist
- DEFAULT: none
- DEFAULT_IF_NONE: 3128
- LOC: Config.Port.http
- DOC_START
- The port number where Squid will listen for HTTP client
- requests. Default is 3128, for httpd-accel mode use port 80.
- May be overridden with -a on the command line.
- You may specify multiple ports here, but they MUST all be on
- a single line.
- http_port 3128
- DOC_END
- NAME: icp_port udp_port
- TYPE: ushort
- DEFAULT: 3130
- LOC: Config.Port.icp
- DOC_START
- The port number where Squid sends and receives ICP requests to
- and from neighbor caches. Default is 3130. To disable use
- "0". May be overridden with -u on the command line.
- icp_port 3130
- DOC_END
- NAME: htcp_port
- IFDEF: USE_HTCP
- TYPE: ushort
- DEFAULT: 4827
- LOC: Config.Port.htcp
- DOC_START
- The port number where Squid sends and receives ICP requests to
- and from neighbor caches. Default is 4827. To disable use
- "0".
- htcp_port 4827
- DOC_END
- NAME: mcast_groups
- TYPE: wordlist
- LOC: Config.mcast_group_list
- DEFAULT: none
- DOC_START
- This tag specifies a list of multicast groups which your server
- should join to receive multicasted ICP requests.
- NOTE! Be very careful what you put here! Be sure you
- understand the difference between an ICP _query_ and an ICP
- _reply_. This option is to be set only if you want to RECEIVE
- multicast queries. Do NOT set this option to SEND multicast
- ICP (use cache_peer for that). ICP replies are always sent via
- unicast, so this option does not affect whether or not you will
- receive replies from multicast group members.
- You must be very careful to NOT use a multicast address which
- is already in use by another group of caches. NLANR has been
- assigned a block of multicast address space for use in Web
- Caching. Plese write to us at nlanr-cache@nlanr.net to receive
- an address for your own use.
- If you are unsure about multicast, please read the Multicast
- chapter in the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/).
- Usage: mcast_groups 239.128.16.128 224.0.1.20
- By default, Squid doesn't listen on any multicast groups.
- mcast_groups 239.128.16.128
- DOC_END
- NAME: tcp_incoming_address bind_address
- TYPE: address
- LOC: Config.Addrs.tcp_incoming
- DEFAULT: 0.0.0.0
- DOC_NONE
- NAME: tcp_outgoing_address outbound_address
- TYPE: address
- LOC: Config.Addrs.tcp_outgoing
- DEFAULT: 255.255.255.255
- DOC_NONE
- NAME: udp_incoming_address
- TYPE: address
- LOC:Config.Addrs.udp_incoming
- DEFAULT: 0.0.0.0
- DOC_NONE
- NAME: udp_outgoing_address
- TYPE: address
- LOC: Config.Addrs.udp_outgoing
- DEFAULT: 255.255.255.255
- DOC_START
- Usage: tcp_incoming_address 10.20.30.40
- udp_outgoing_address fully.qualified.domain.name
- tcp_incoming_address is used for the HTTP socket which accepts
- connections from clients and other caches.
- tcp_outgoing_address is used for connections made to remote
- servers and other caches.
- udp_incoming_address is used for the ICP socket receiving packets
- from other caches.
- udp_outgoing_address is used for ICP packets sent out to other
- caches.
- The default behaviour is to not bind to any specific address.
- NOTE, udp_incoming_address and udp_outgoing_address can not
- have the same value (unless it is 0.0.0.0) since they both use
- port 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
- DOC_END
- COMMENT_START
- OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: cache_peer
- TYPE: peer
- DEFAULT: none
- LOC: Config.peers
- DOC_START
- To specify other caches in a hierarchy, use the format:
- hostname type http_port icp_port
- For example,
- # proxy icp
- # hostname type port port options
- # -------------------- -------- ----- ----- -----------
- cache_peer parent.foo.net parent 3128 3130 [proxy-only]
- cache_peer sib1.foo.net sibling 3128 3130 [proxy-only]
- cache_peer sib2.foo.net sibling 3128 3130 [proxy-only]
- type: either 'parent', 'sibling', or 'multicast'.
- proxy_port: The port number where the cache listens for proxy
- requests.
- icp_port: Used for querying neighbor caches about
- objects. To have a non-ICP neighbor
- specify '7' for the ICP port and make sure the
- neighbor machine has the UDP echo port
- enabled in its /etc/inetd.conf file.
- options: proxy-only
- weight=n
- ttl=n
- no-query
- default
- round-robin
- multicast-responder
- closest-only
- no-digest
- no-netdb-exchange
- no-delay
- login=user:password
- use 'proxy-only' to specify that objects fetched
- from this cache should not be saved locally.
- use 'weight=n' to specify a weighted parent.
- The weight must be an integer. The default weight
- is 1, larger weights are favored more.
- use 'ttl=n' to specify a IP multicast TTL to use
- when sending an ICP request to this address.
- Only useful when sending to a multicast group.
- Because we don't accept ICP replies from random
- hosts, you must configure other group members as
- peers with the 'multicast-responder' option below.
- use 'no-query' to NOT send ICP queries to this
- neighbor.
- use 'default' if this is a parent cache which can
- be used as a "last-resort." You should probably
- only use 'default' in situations where you cannot
- use ICP with your parent cache(s).
- use 'round-robin' to define a set of parents which
- should be used in a round-robin fashion in the
- absence of any ICP queries.
- 'multicast-responder' indicates that the named peer
- is a member of a multicast group. ICP queries will
- not be sent directly to the peer, but ICP replies
- will be accepted from it.
- 'closest-only' indicates that, for ICP_OP_MISS
- replies, we'll only forward CLOSEST_PARENT_MISSes
- and never FIRST_PARENT_MISSes.
- use 'no-digest' to NOT request cache digests from
- this neighbor.
- 'no-netdb-exchange' disables requesting ICMP
- RTT database (NetDB) from the neighbor.
- use 'no-delay' to prevent access to this neighbor
- from influencing the delay pools.
- use 'login=user:password' if this is a personal/workgroup
- proxy and your parent requires proxy authentication.
- NOTE: non-ICP neighbors must be specified as 'parent'.
- cache_peer hostname type 3128 3130
- DOC_END
- NAME: cache_peer_domain cache_host_domain
- TYPE: hostdomain
- DEFAULT: none
- LOC: none
- DOC_START
- Use to limit the domains for which a neighbor cache will be
- queried. Usage:
- cache_peer_domain cache-host domain [domain ...]
- cache_peer_domain cache-host !domain
- For example, specifying
- cache_peer_domain parent.foo.net .edu
- has the effect such that UDP query packets are sent to
- 'bigserver' only when the requested object exists on a
- server in the .edu domain. Prefixing the domainname
- with '!' means that the cache will be queried for objects
- NOT in that domain.
- NOTE: * Any number of domains may be given for a cache-host,
- either on the same or separate lines.
- * When multiple domains are given for a particular
- cache-host, the first matched domain is applied.
- * Cache hosts with no domain restrictions are queried
- for all requests.
- * There are no defaults.
- * There is also a 'cache_peer_access' tag in the ACL
- section.
- DOC_END
- NAME: neighbor_type_domain
- TYPE: hostdomaintype
- DEFAULT: none
- LOC: none
- DOC_START
- usage: neighbor_type_domain parent|sibling domain domain ...
- Modifying the neighbor type for specific domains is now
- possible. You can treat some domains differently than the the
- default neighbor type specified on the 'cache_peer' line.
- Normally it should only be necessary to list domains which
- should be treated differently because the default neighbor type
- applies for hostnames which do not match domains listed here.
- EXAMPLE:
- cache_peer parent cache.foo.org 3128 3130
- neighbor_type_domain cache.foo.org sibling .com .net
- neighbor_type_domain cache.foo.org sibling .au .de
- DOC_END
- NAME: icp_query_timeout
- COMMENT: (msec)
- DEFAULT: 0
- TYPE: int
- LOC: Config.Timeout.icp_query
- DOC_START
- Normally Squid will automatically determine an optimal ICP
- query timeout value based on the round-trip-time of recent ICP
- queries. If you want to override the value determined by
- Squid, set this 'icp_query_timeout' to a non-zero value. This
- value is specified in MILLISECONDS, so, to use a 2-second
- timeout (the old default), you would write:
- icp_query_timeout 2000
- icp_query_timeout 0
- DOC_END
- NAME: mcast_icp_query_timeout
- COMMENT: (msec)
- DEFAULT: 2000
- TYPE: int
- LOC: Config.Timeout.mcast_icp_query
- DOC_START
- For Multicast peers, Squid regularly sends out ICP "probes" to
- count how many other peers are listening on the given multicast
- address. This value specifies how long Squid should wait to
- count all the replies. The default is 2000 msec, or 2
- seconds.
- mcast_icp_query_timeout 2000
- DOC_END
- NAME: dead_peer_timeout
- COMMENT: (seconds)
- DEFAULT: 10 seconds
- TYPE: time_t
- LOC: Config.Timeout.deadPeer
- DOC_START
- This controls how long Squid waits to declare a peer cache
- as "dead." If there are no ICP replies received in this
- amount of time, Squid will declare the peer dead and not
- expect to receive any further ICP replies. However, it
- continues to send ICP queries, and will mark the peer as
- alive upon receipt of the first subsequent ICP reply.
- This timeout also affects when Squid expects to receive ICP
- replies from peers. If more than 'dead_peer' seconds have
- passed since the last ICP reply was received, Squid will not
- expect to receive an ICP reply on the next query. Thus, if
- your time between requests is greater than this timeout, you
- will see a lot of requests sent DIRECT to origin servers
- instead of to your parents.
- dead_peer_timeout 10 seconds
- DOC_END
- NAME: hierarchy_stoplist
- TYPE: wordlist
- DEFAULT: none
- DEFAULT_IF_NONE: cgi-bin ?
- LOC: Config.hierarchy_stoplist
- DOC_START
- A list of words which, if found in a URL, cause the object to
- be handled directly by this cache. In other words, use this
- to not query neighbor caches for certain objects. You may
- list this option multiple times.
- The default is to directly fetch URLs containing 'cgi-bin' or '?'.
- hierarchy_stoplist cgi-bin ?
- DOC_END
- NAME: no_cache
- TYPE: acl_access
- DEFAULT: none
- LOC: Config.accessList.noCache
- DOC_START
- A list of ACL elements which, if matched, cause the reply to
- immediately removed from the cache. In other words, use this
- to force certain objects to never be cached.
- You must use the word 'DENY' to indicate the ACL names which should
- NOT be cached.
- There is no default. We recommend you uncomment the following
- two lines.
- acl QUERY urlpath_regex cgi-bin ?
- no_cache deny QUERY
- DOC_END
- COMMENT_START
- OPTIONS WHICH AFFECT THE CACHE SIZE
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: cache_mem
- COMMENT: (bytes)
- TYPE: b_size_t
- DEFAULT: 8 MB
- LOC: Config.memMaxSize
- DOC_START
- NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS
- SIZE. IT PLACES A LIMIT ON ONE ASPECT OF SQUID'S MEMORY
- USAGE. SQUID USES MEMORY FOR OTHER THINGS AS WELL.
- YOUR PROCESS WILL PROBABLY BECOME TWICE OR THREE TIMES
- BIGGER THAN THE VALUE YOU PUT HERE
- 'cache_mem' specifies the ideal amount of memory to be used
- for:
- * In-Transit objects
- * Hot Objects
- * Negative-Cached objects
- Data for these objects are stored in 4 KB blocks. This
- parameter specifies the ideal upper limit on the total size of
- 4 KB blocks allocated. In-Transit objects take the highest
- priority.
- In-transit objects have priority over the others. When
- additional space is needed for incoming data, negative-cached
- and hot objects will be released. In other words, the
- negative-cached and hot objects will fill up any unused space
- not needed for in-transit objects.
- If circumstances require, this limit will be exceeded.
- Specifically, if your incoming request rate requires more than
- 'cache_mem' of memory to hold in-transit objects, Squid will
- exceed this limit to satisfy the new requests. When the load
- decreases, blocks will be freed until the high-water mark is
- reached. Thereafter, blocks will be used to store hot
- objects.
- The values of cache_mem_low and cache_mem_high (below) can be
- used to tune the use of the memory pool. When the high mark is
- reached, in-transit and hot objects will be released to clear
- space. When an object transfer is completed, it will remain in
- memory only if the current memory usage is below the low water
- mark.
- The default is 8 Megabytes.
- cache_mem 8 MB
- DOC_END
- NAME: cache_swap_low
- COMMENT: (percent, 0-100)
- TYPE: int
- DEFAULT: 90
- LOC: Config.Swap.lowWaterMark
- DOC_NONE
- NAME: cache_swap_high
- COMMENT: (percent, 0-100)
- TYPE: int
- DEFAULT: 95
- LOC: Config.Swap.highWaterMark
- DOC_START
- The low- and high-water marks for cache LRU replacement. LRU
- replacement begins when the high-water mark is reached and ends
- when enough objects have been removed and the low-water mark is
- reached. Defaults are 90% and 95%. If you have a large cache, 5%
- could be hundreds of MB. If this is the case you may wish to
- set these numbers closer together.
- cache_swap_low 90
- cache_swap_high 95
- DOC_END
- NAME: maximum_object_size
- COMMENT: (bytes)
- TYPE: b_size_t
- DEFAULT: 4096 KB
- LOC: Config.Store.maxObjectSize
- DOC_START
- Objects larger than this size will NOT be saved on disk. The
- value is specified in kilobytes, and the default is 4MB. If
- you wish to get a high BYTES hit ratio, you should probably
- increase this (one 32 MB object hit counts for 3200 10KB
- hits). If you wish to increase speed more than your want to
- save bandwidth you should leave this low.
- maximum_object_size 4096 KB
- DOC_END
- NAME: ipcache_size
- COMMENT: (number of entries)
- TYPE: int
- DEFAULT: 1024
- LOC: Config.ipcache.size
- DOC_NONE
- NAME: ipcache_low
- COMMENT: (percent)
- TYPE: int
- DEFAULT: 90
- LOC: Config.ipcache.low
- DOC_NONE
- NAME: ipcache_high
- COMMENT: (percent)
- TYPE: int
- DEFAULT: 95
- LOC: Config.ipcache.high
- DOC_START
- The size, low-, and high-water marks for the IP cache.
- ipcache_size 1024
- ipcache_low 90
- ipcache_high 95
- DOC_END
- NAME: fqdncache_size
- COMMENT: (number of entries)
- TYPE: int
- DEFAULT: 1024
- LOC: Config.fqdncache.size
- DOC_START
- Maximum number of FQDN cache entries.
- fqdncache_size 1024
- DOC_END
- COMMENT_START
- LOGFILE PATHNAMES AND CACHE DIRECTORIES
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: cache_dir
- TYPE: cachedir
- DEFAULT: none
- DEFAULT_IF_NONE: @DEFAULT_SWAP_DIR@ 100 16 256
- LOC: Config.cacheSwap
- DOC_START
- Usage:
-
- cache_dir Directory-Name Mbytes Level-1 Level2
- You can specify multiple cache_dir lines to spread the
- cache among different disk partitions.
- 'Directory' is a top-level directory where cache swap
- files will be stored. If you want to use an entire disk
- for caching, then this can be the mount-point directory.
- The directory must exist and be writable by the Squid
- process. Squid will NOT create this directory for you.
- If no 'cache_dir' lines are specified, the following
- default will be used: @DEFAULT_SWAP_DIR@.
- 'Mbytes' is the amount of disk space (MB) to use under this
- directory. The default is 100 MB. Change this to suit your
- configuration.
- 'Level-1' is the number of first-level subdirectories which
- will be created under the 'Directory'. The default is 16.
- 'Level-2' is the number of second-level subdirectories which
- will be created under each first-level directory. The default
- is 256.
- cache_dir @DEFAULT_SWAP_DIR@ 100 16 256
- DOC_END
- NAME: cache_access_log
- TYPE: string
- DEFAULT: @DEFAULT_ACCESS_LOG@
- LOC: Config.Log.access
- DOC_START
- Logs the client request activity. Contains an entry for
- every HTTP and ICP request received.
- cache_access_log @DEFAULT_ACCESS_LOG@
- DOC_END
- NAME: cache_log
- TYPE: string
- DEFAULT: @DEFAULT_CACHE_LOG@
- LOC: Config.Log.log
- DOC_START
- Cache logging file. This is where general information about
- your cache's behaviour goes. You can increase the amount of data
- logged to this file with the "debug_options" tag below.
- cache_log @DEFAULT_CACHE_LOG@
- DOC_END
- NAME: cache_store_log
- TYPE: string
- DEFAULT: @DEFAULT_STORE_LOG@
- LOC: Config.Log.store
- DOC_START
- Logs the activities of the storage manager. Shows which
- objects are ejected from the cache, and which objects are
- saved and for how long. To disable, enter "none". There are
- not really utilities to analyse this data, so you can safely
- disable it.
- cache_store_log @DEFAULT_STORE_LOG@
- DOC_END
- NAME: cache_swap_log
- TYPE: string
- LOC: Config.Log.swap
- DEFAULT: none
- DOC_START
- Location for the cache "swap.log." This log file holds the
- metadata of objects saved on disk. It is used to rebuild the
- cache during startup. Normally this file resides in the first
- 'cache_dir' directory, but you may specify an alternate
- pathname here. Note you must give a full filename, not just
- a directory. Since this is the index for the whole object
- list you CANNOT periodically rotate it!
- If you have more than one 'cache_dir', these swap logs will
- have names such as:
- cache_swap_log.00
- cache_swap_log.01
- cache_swap_log.02
- The numbered extension (which is added automatically)
- corresponds to the order of the 'cache_dir' lines in this
- configuration file. If you change the order of the 'cache_dir'
- lines in this file, then these log files will NOT correspond to
- the correct 'cache_dir' entry (unless you manually rename
- them). We recommend that you do NOT use this option. It is
- better to keep these log files in each 'cache_dir' directory.
- cache_swap_log
- DOC_END
- NAME: emulate_httpd_log
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.common_log
- DOC_START
- The Cache can emulate the log file format which many 'httpd'
- programs use. To disable/enable this emulation, set
- emulate_httpd_log to 'off' or 'on'. The default
- is to use the native log format since it includes useful
- information that Squid-specific log analysers use.
- emulate_httpd_log off
- DOC_END
- NAME: mime_table
- TYPE: string
- DEFAULT: @DEFAULT_MIME_TABLE@
- LOC: Config.mimeTablePathname
- DOC_START
- Pathname to Squid's MIME table. You shouldn't need to change
- this, but the default file contains examples and formatting
- information if you do.
- mime_table @DEFAULT_MIME_TABLE@
- DOC_END
- NAME: log_mime_hdrs
- COMMENT: on|off
- TYPE: onoff
- LOC: Config.onoff.log_mime_hdrs
- DEFAULT: off
- DOC_START
- The Cache can record both the request and the response MIME
- headers for each HTTP transaction. The headers are encoded
- safely and will appear as two bracketed fields at the end of
- the access log (for either the native or httpd-emulated log
- formats). To enable this logging set log_mime_hdrs to 'on'.
- log_mime_hdrs off
- DOC_END
- NAME: useragent_log
- TYPE: string
- LOC: Config.Log.useragent
- DEFAULT: none
- DOC_START
- If configured with the "--enable-useragent_log" configure
- option, Squid will write the User-Agent field from HTTP
- requests to the filename specified here. By default
- useragent_log is disabled.
- useragent_log none
- DOC_END
- NAME: pid_filename
- TYPE: string
- DEFAULT: @DEFAULT_PID_FILE@
- LOC: Config.pidFilename
- DOC_START
- A filename to write the process-id to. To disable, enter "none".
- pid_filename @DEFAULT_PID_FILE@
- DOC_END
- NAME: debug_options
- TYPE: eol
- DEFAULT: ALL,1
- LOC: Config.debugOptions
- DOC_START
- Logging options are set as section,level where each source file
- is assigned a unique section. Lower levels result in less
- output, Full debugging (level 9) can result in a very large
- log file, so be careful. The magic word "ALL" sets debugging
- levels for all sections. We recommend normally running with
- "ALL,1".
- debug_options ALL,1
- DOC_END
- NAME: ident_lookup_access
- TYPE: acl_access
- IFDEF: USE_IDENT
- DEFAULT: none
- DEFAULT_IF_NONE: deny all
- LOC: Config.accessList.identLookup
- DOC_START
- A list of ACL elements which, if matched, cause an ident
- (RFC 931) lookup to be performed for this request. For
- example, you might choose to always perform ident lookups
- for your main multi-user Unix boxes, but not for your Macs
- and PCs. By default, ident lookups are not performed for
- any requests.
- To enable ident lookups for specific client addresses, you
- can follow this example:
-
- acl ident_aware_hosts src 198.168.1.0/255.255.255.0
- ident_lookup_access allow ident_aware_hosts
- ident_lookup_access deny all
- ident_lookup_access deny all
- DOC_END
- NAME: log_fqdn
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.log_fqdn
- DOC_START
- Turn this on if you wish to log fully qualified domain names
- in the access.log. To do this Squid does a DNS lookup of all
- IP's connecting to it. This can (in some situations) increase
- latency, which makes your cache seem slower for interactive
- browsing.
- log_fqdn off
- DOC_END
- NAME: client_netmask
- TYPE: address
- LOC: Config.Addrs.client_netmask
- DEFAULT: 255.255.255.255
- DOC_START
- A netmask for client addresses in logfiles and cachemgr output.
- Change this to protect the privacy of your cache clients.
- A netmask of 255.255.255.0 will log all IP's in that range with
- the last digit set to '0'.
- client_netmask 255.255.255.255
- DOC_END
- COMMENT_START
- OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: ftp_user
- TYPE: string
- DEFAULT: Squid@
- LOC: Config.Ftp.anon_user
- DOC_START
- If you want the anonymous login password to be more informative
- (and enable the use of picky ftp servers), set this to something
- resonable for your domain, like wwwuser@somewhere.net
- The reason why this is domainless by default is that the
- request can be made on the behalf of a user in any domain,
- depending on how the cache is used.
- Some ftp server also validate that the email address is valid
- (for example perl.com).
- ftp_user Squid@
- DOC_END
- NAME: ftp_list_width
- TYPE: size_t
- DEFAULT: 32
- LOC: Config.Ftp.list_width
- DOC_START
- Sets the width of ftp listings. This should be set to fit in
- the width of a standard browser. Setting this too small
- can cut off long filenames when browsing ftp sites.
- ftp_list_width 32
- DOC_END
- NAME: cache_dns_program
- TYPE: string
- DEFAULT: @DEFAULT_DNSSERVER@
- LOC: Config.Program.dnsserver
- DOC_START
- Specify the location of the executable for dnslookup process.
- cache_dns_program @DEFAULT_DNSSERVER@
- DOC_END
- NAME: dns_children
- TYPE: int
- DEFAULT: 5
- LOC: Config.dnsChildren
- DOC_START
- The number of processes spawn to service DNS name lookups.
- For heavily loaded caches on large servers, you should
- probably increase this value to at least 10. The maximum
- is 32. The default is 5.
- To disable dnsservers, set this to 0. NOTE, this is very
- strongly discouraged. If you disable dnsservers your Squid
- process will BLOCK on DNS lookups!
- dns_children 5
- DOC_END
- NAME: dns_defnames
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.res_defnames
- DOC_START
- Normally the 'dnsserver' disables the RES_DEFNAMES resolver
- option (see res_init(3)). This prevents caches in a hierarchy
- from interpreting single-component hostnames locally. To allow
- dnsserver to handle single-component names, enable this
- option.
- dns_defnames off
- DOC_END
- NAME: dns_nameservers
- TYPE: wordlist
- DEFAULT: none
- LOC: Config.dns_nameservers
- DOC_START
- Use this if you want to specify a list of DNS name servers
- (IP addresses) to use instead of those given in your
- /etc/resolv.conf file.
- Example: dns_nameservers 10.0.0.1 192.172.0.4
- dns_nameservers none
- DOC_END
- NAME: unlinkd_program
- TYPE: string
- DEFAULT: @DEFAULT_UNLINKD@
- LOC: Config.Program.unlinkd
- DOC_START
- Specify the location of the executable for file deletion process.
- This isn't needed if you are using async-io since it's handled by
- a thread.
- unlinkd_program @DEFAULT_UNLINKD@
- DOC_END
- NAME: pinger_program
- TYPE: string
- DEFAULT: @DEFAULT_PINGER@
- LOC: Config.Program.pinger
- DOC_START
- Specify the location of the executable for the pinger process.
- This is only useful if you configured Squid (during compliation)
- with the '--enable-icmp' option.
- pinger_program @DEFAULT_PINGER@
- DOC_END
- NAME: redirect_program
- TYPE: string
- LOC: Config.Program.redirect
- DEFAULT: none
- DOC_START
- Specify the location of the executable for the URL redirector.
- Since they can perform almost any function there isn't one included.
- See the Release-Notes for information on how to write one.
- By default, a redirector is not used.
- redirect_program none
- DOC_END
- NAME: redirect_children
- TYPE: int
- DEFAULT: 5
- LOC: Config.redirectChildren
- DOC_START
- The number of redirector processes to spawn. If you start
- too few Squid will have to wait for them to process a backlog of
- URLs, slowing it down. If you start too many they will use RAM
- and other system resources.
- redirect_children 5
- DOC_END
- NAME: redirect_rewrites_host_header
- TYPE: onoff
- DEFAULT: on
- LOC: Config.onoff.redir_rewrites_host
- DOC_START
- By default Squid rewrites any Host: header in redirected requests.
- If you are running a accelerator then this may not be a wanted effect
- of a redirector.
- redirect_rewrites_host_header on
- DOC_END
- NAME: authenticate_program
- TYPE: wordlist
- LOC: Config.Program.authenticate
- DEFAULT: none
- DOC_START
- Specify the command for the external authenticator. Such a
- program reads a line containing "username password" and replies
- "OK" or "ERR" in an endless loop. If you use an authenticator,
- make sure you have 1 acl of type proxy_auth. By default, the
- authenticator_program is not used.
- If you want to use the traditional proxy authentication,
- jump over to the ../auth_modules/NCSA directory and
- type:
- % make
- % make install
- Then, set this line to something like
- authenticate_program @DEFAULT_PREFIX@/bin/ncsa_auth @DEFAULT_PREFIX@/etc/passwd
- authenticate_program none
- DOC_END
- NAME: authenticate_children
- TYPE: int
- DEFAULT: 5
- LOC: Config.authenticateChildren
- DOC_START
- The number of authenticator processes to spawn (default 5). If you
- start too few Squid will have to wait for them to process a backlog
- of usercode/password verifications, slowing it down. When password
- verifications are done via a (slow) network you are likely to need
- lots of authenticator processes.
- authenticate_children 5
- DOC_END
- NAME: authenticate_ttl
- TYPE: int
- DEFAULT: 3600
- LOC: Config.authenticateTTL
- DOC_START
- The time a checked username/password combination remains cached
- (default 3600). If a wrong password is given for a cached user,
- the user gets removed from the username/password cache forcing
- a revalidation.
- authenticate_ttl 3600
- DOC_END
- COMMENT_START
- OPTIONS FOR TUNING THE CACHE
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: wais_relay_host
- TYPE: string
- DEFAULT: none
- LOC: Config.Wais.relayHost
- DOC_NONE
- NAME: wais_relay_port
- TYPE: ushort
- DEFAULT: 0
- LOC: Config.Wais.relayPort
- DOC_START
- Relay WAIS request to host (1st arg) at port (2 arg).
- wais_relay_host localhost
- wais_relay_port 8000
- DOC_END
- NAME: request_size
- COMMENT: (KB)
- TYPE: b_size_t
- DEFAULT: 100 KB
- LOC: Config.maxRequestSize
- DOC_START
- Maximum allowed request size in kilobytes. If people are using
- POST to upload files, then set this to the largest acceptable
- filesize plus a few extra kbytes.
- request_size 100 KB
- DOC_END
- NAME: refresh_pattern
- TYPE: refreshpattern
- LOC: Config.Refresh
- DEFAULT: none
- DOC_START
- usage: refresh_pattern [-i] regex min percent max [options]
- By default, regular expressions are CASE-SENSITIVE. To make
- them case-insensitive, use the -i option.
- min and max are specified in MINUTES.
- percent is an integer number.
- options: override-expire
- override-lastmod
- reload-into-ims
- ignore-reload
- override-expire enforces min age even if the server
- sent a Expires: header. Doing this VIOLATES the HTTP
- standard. Enabling this feature could make you liable
- for problems which it causes.
- override-lastmod enforces min age even on objects
- that was modified recently.
- reload-into-ims changes client no-cache or ``reload''
- to If-Modified-Since requests. Doing this VIOLATES the
- HTTP standard. Enabling this feature could make you
- liable for problems which it causes.
- ignore-reload ignores a client no-cache or ``reload''
- header. Doing this VIOLATES the HTTP standard. Enabling
- this feature could make you liable for problems which
- it causes.
-
- Please see the file doc/Release-Notes-1.1.txt for a full
- description of Squid's refresh algorithm. Basically a
- cached object is: (the order is changed from 1.1.X)
- STALE if age > max
- FRESH if expires < now, else STALE
- FRESH if lm-factor < percent, else STALE
- FRESH if age < min
- else STALE
- The refresh_pattern lines are checked in the order listed here.
- The first entry which matches is used. If none of the entries
- match, then the default will be used.
- Default:
- refresh_pattern . 0 20% 4320
- DOC_END
- NAME: reference_age
- TYPE: time_t
- LOC: Config.referenceAge
- DEFAULT: 1 year
- DOC_START
- As a part of normal operation, Squid performs Least Recently
- Used removal of cached objects. The LRU age for removal is
- computed dynamically, based on the amount of disk space in
- use. The dynamic value can be seen in the Cache Manager 'info'
- output.
- The 'reference_age' parameter defines the maximum LRU age. For
- example, setting reference_age to '1 week' will cause objects
- to be removed if they have not been accessed for a week or
- more. The default value is one month.
- Specify a number here, followed by units of time. For example:
- 1 week
- 3.5 days
- 4 months
- 2.2 hours
- reference_age 1 month
- DOC_END
- NAME: quick_abort_min
- COMMENT: (KB)
- TYPE: kb_size_t
- DEFAULT: 16 KB
- LOC: Config.quickAbort.min
- DOC_NONE
- NAME: quick_abort_max
- COMMENT: (KB)
- TYPE: kb_size_t
- DEFAULT: 16 kb
- LOC: Config.quickAbort.max
- DOC_NONE
- NAME: quick_abort_pct
- COMMENT: (percent)
- TYPE: int
- DEFAULT: 95
- LOC: Config.quickAbort.pct
- DOC_START
- The cache can be configured to continue downloading aborted
- requests. This may be undesirable on slow (e.g. SLIP) links
- and/or very busy caches. Impatient users may tie up file
- descriptors and bandwidth by repeatedly requesting and
- immediately aborting downloads.
- When the user aborts a request, Squid will check the
- quick_abort values to the amount of data transfered until
- then.
- If the transfer has less than 'quick_abort_min' KB remaining,
- it will finish the retrieval. Setting 'quick_abort_min' to -1
- will disable the quick_abort feature.
- If the transfer has more than 'quick_abort_max' KB remaining,
- it will abort the retrieval.
- If more than 'quick_abort_pct' of the transfer has completed,
- it will finish the retrieval.
- quick_abort_min 16 KB
- quick_abort_max 16 KB
- quick_abort_pct 95
- DOC_END
- NAME: negative_ttl
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.negativeTtl
- DEFAULT: 5 minutes
- DOC_START
- Time-to-Live (TTL) for failed requests. Certain types of
- failures (such as "connection refused" and "404 Not Found") are
- negatively-cached for a configurable amount of time. The
- default is 5 minutes. Note that this is different from
- negative caching of DNS lookups.
- negative_ttl 5 minutes
- DOC_END
- NAME: positive_dns_ttl
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.positiveDnsTtl
- DEFAULT: 6 hours
- DOC_START
- Time-to-Live (TTL) for positive caching of successful DNS lookups.
- Default is 6 hours (360 minutes). If you want to minimize the
- use of Squid's ipcache, set this to 1, not 0.
- positive_dns_ttl 6 hours
- DOC_END
- NAME: negative_dns_ttl
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.negativeDnsTtl
- DEFAULT: 5 minutes
- DOC_START
- Time-to-Live (TTL) for negative caching of failed DNS lookups.
- negative_dns_ttl 5 minutes
- DOC_END
- NAME: range_offset_limit
- COMMENT: (bytes)
- TYPE: b_size_t
- LOC: Config.rangeOffsetLimit
- DEFAULT: 0 KB
- DOC_START
- Sets a upper limit on how far into the the file a Range request
- may be to cause Squid to prefetch the whole file. If beyond this
- limit then Squid forwards the Range request as it is and the result
- is NOT cached.
- This is to stop a far ahead range request (lets say start at 17MB)
- from making Squid fetch the whole object up to that point before
- sending anything to the client.
- A value of -1 causes Squid to always fetch the object from the
- beginning so that it may cache the result. (2.0 style)
- A value of 0 causes Squid to never fetch more than the client
- client requested. (default)
- range_offset_limit 0 KB
- DOC_END
- COMMENT_START
- TIMEOUTS
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: connect_timeout
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.Timeout.connect
- DEFAULT: 2 minutes
- DOC_START
- Some systems (notably Linux) can not be relied upon to properly
- time out connect(2) requests. Therefore the Squid process
- enforces its own timeout on server connections. This parameter
- specifies how long to wait for the connect to complete. The
- default is two minutes (120 seconds).
- connect_timeout 120 seconds
- DOC_END
- NAME: siteselect_timeout
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.Timeout.siteSelect
- DEFAULT: 4 seconds
- DOC_START
- For URN to multiple URL's URL selection
- siteselect_timeout 4 seconds
- DOC_END
- NAME: read_timeout
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.Timeout.read
- DEFAULT: 15 minutes
- DOC_START
- The read_timeout is applied on server-side connections. After
- each successful read(), the timeout will be extended by this
- amount. If no data is read again after this amount of time,
- the request is aborted and logged with ERR_READ_TIMEOUT. The
- default is 15 minutes.
- read_timeout 15 minutes
- DOC_END
- NAME: request_timeout
- TYPE: time_t
- LOC: Config.Timeout.request
- DEFAULT: 30 seconds
- DOC_START
- How long to wait for an HTTP request after connection
- establishment. For persistent connections, wait this long
- after the previous request completes.
- request_timeout 30 seconds
- DOC_END
- NAME: client_lifetime
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.Timeout.lifetime
- DEFAULT: 1 day
- DOC_START
- The maximum amount of time that a client (browser) is allowed to
- remain connected to the cache process. This protects the Cache
- from having alot of sockets (and hence file descriptors) tied up
- in a CLOSE_WAIT state from remote clients that go away without
- properly shutting down (either because of a network failure or
- because of a poor client implementation). The default is one
- day, 1440 minutes.
- NOTE: The default value is intended to be much larger than any
- client would ever need to be connected to your cache. You
- should probably change client_lifetime only as a last resort.
- If you seem to have many client connections tying up
- filedescriptors, we recommend first tuning the read_timeout,
- request_timeout, pconn_timeout and quick_abort values.
- client_lifetime 1 day
- DOC_END
- NAME: half_closed_clients
- TYPE: onoff
- LOC: Config.onoff.half_closed_clients
- DEFAULT: on
- DOC_START
- Some clients may shutdown the sending side of their TCP
- connections, while leaving their receiving sides open. Sometimes,
- Squid can not tell the difference between a half-closed and a
- fully-closed TCP connection. By default, half-closed client
- connections are kept open until a read(2) or write(2) on the
- socket returns an error. Change this option to 'off' and Squid
- will immediately close client connections when read(2) returns
- "no more data to read."
- half_closed_clients on
- DOC_END
- NAME: pconn_timeout
- TYPE: time_t
- LOC: Config.Timeout.pconn
- DEFAULT: 120 seconds
- DOC_START
- Timeout for idle persistent connections to servers and other
- proxies.
- pconn_timeout 120 seconds
- DOC_END
- NAME: ident_timeout
- TYPE: time_t
- IFDEF: USE_IDENT
- LOC: Config.Timeout.ident
- DEFAULT: 10 seconds
- DOC_START
- Maximum time to wait for IDENT requests. If this is too high,
- and you enabled 'ident_lookup', then you might be susceptible
- to denial-of-service by having many ident requests going at
- once.
- ident_timeout 10 seconds
- DOC_END
- NAME: shutdown_lifetime
- COMMENT: time-units
- TYPE: time_t
- LOC: Config.shutdownLifetime
- DEFAULT: 30 seconds
- DOC_START
- When SIGTERM or SIGHUP is received, the cache is put into
- "shutdown pending" mode until all active sockets are closed.
- This value is the lifetime to set for all open descriptors
- during shutdown mode. Any active clients after this many
- seconds will receive a 'timeout' message.
- shutdown_lifetime 30 seconds
- DOC_END
- COMMENT_START
- ACCESS CONTROLS
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: acl
- TYPE: acl
- LOC: Config.aclList
- DEFAULT: none
- DOC_START
- Defining an Access List
- acl aclname acltype string1 ...
- acl aclname acltype "file" ...
- when using "file", the file should contain one item per line
- acltype is one of src dst srcdomain dstdomain url_pattern
- urlpath_pattern time port proto method browser user
- By default, regular expressions are CASE-SENSITIVE. To make
- them case-insensitive, use the -i option.
- acl aclname src ip-address/netmask ... (clients IP address)
- acl aclname src addr1-addr2/netmask ... (range of addresses)
- acl aclname dst ip-address/netmask ... (URL host's IP address)
- acl aclname myip ip-address/netmask ... (local socket IP address)
- acl aclname srcdomain foo.com ... # reverse lookup, client IP
- acl aclname dstdomain foo.com ... # Destination server from URL
- acl aclname srcdom_regex [-i] xxx ... # regex matching client name
- acl aclname dstdom_regex [-i] xxx ... # regex matching server
- # For dstdomain and dstdom_regex a reverse lookup is tried if a IP
- # based URL is used. The name "none" is used if the reverse lookup
- # fails.
- acl aclname time [day-abbrevs] [h1:m1-h2:m2]
- day-abbrevs:
- S - Sunday
- M - Monday
- T - Tuesday
- W - Wednesday
- H - Thursday
- F - Friday
- A - Saturday
- h1:m1 must be less than h2:m2
- acl aclname url_regex [-i] ^http:// ... # regex matching on whole URL
- acl aclname urlpath_regex [-i] .gif$ ... # regex matching on URL path
- acl aclname port 80 70 21 ...
- acl aclname port 0-1024 ... # ranges allowed
- acl aclname proto HTTP FTP ...
- acl aclname method GET POST ...
- acl aclname browser [-i] regexp
- # pattern match on User-Agent header
- acl aclname ident username ...
- # string match on ident output.
- # use REQUIRED to accept any non-null ident.
- acl aclname src_as number ...
- acl aclname dst_as number ...
- # Except for access control, AS numbers can be used for
- # routing of requests to specific caches. Here's an
- # example for routing all requests for AS#1241 and only
- # those to mycache.mydomain.net:
- # acl asexample dst_as 1241
- # cache_peer_access mycache.mydomain.net allow asexample
- # cache_peer_access mycache_mydomain.net deny all
- acl aclname proxy_auth username ...
- # list of valid usernames
- # use REQUIRED to accept any valid username.
- #
- # NOTE: when a Proxy-Authentication header is sent but it is not
- # needed during ACL checking the username is NOT logged
- # in access.log.
- #
- # NOTE: proxy_auth requires a EXTERNAL authentication program
- # to check username/password combinations (see
- # authenticate_program).
- #
- # WARNING: proxy_auth can't be used in a transparent proxy. It
- # collides with any authentication done by origin servers. It may
- # seem like it works at first, but it doesn't.
- acl aclname snmp_community string ...
- # A community string to limit access to your SNMP Agent
- # Example:
- #
- # acl snmppublic snmp_community public
- Examples:
- acl myexample dst_as 1241
- acl password proxy_auth 300
- Defaults:
- NOCOMMENT_START
- acl all src 0.0.0.0/0.0.0.0
- acl manager proto cache_object
- acl localhost src 127.0.0.1/255.255.255.255
- acl SSL_ports port 443 563
- acl Safe_ports port 80 21 443 563 70 210 1025-65535
- acl CONNECT method CONNECT
- NOCOMMENT_END
- DOC_END
- NAME: http_access
- TYPE: acl_access
- LOC: Config.accessList.http
- DEFAULT: none
- DEFAULT_IF_NONE: deny all
- DOC_START
- Allowing or Denying access based on defined access lists
- Access to the HTTP port:
- http_access allow|deny [!]aclname ...
- Access to the ICP port:
- icp_access allow|deny [!]aclname ...
- NOTE on default values:
- If there are no "access" lines present, the default is to allow
- the request.
- If none of the "access" lines cause a match, the default is the
- opposite of the last line in the list. If the last line was
- deny, then the default is allow. Conversely, if the last line
- is allow, the default will be deny. For these reasons, it is a
- good idea to have an "deny all" or "allow all" entry at the end
- of your access lists to avoid potential confusion.
- Default configuration:
- NOCOMMENT_START
- http_access allow manager localhost
- http_access deny manager
- http_access deny !Safe_ports
- http_access deny CONNECT !SSL_ports
- #
- # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
- #
- http_access deny all
- NOCOMMENT_END
- DOC_END
- NAME: icp_access
- TYPE: acl_access
- LOC: Config.accessList.icp
- DEFAULT: none
- DEFAULT_IF_NONE: deny all
- DOC_START
- Reply to all ICP queries we receive
- NOCOMMENT_START
- icp_access allow all
- NOCOMMENT_END
- DOC_END
- NAME: miss_access
- TYPE: acl_access
- LOC: Config.accessList.miss
- DEFAULT: none
- DOC_START
- Use to force your neighbors to use you as a sibling instead of
- a parent. For example:
- acl localclients src 172.16.0.0/16
- miss_access allow localclients
- miss_access deny !localclients
- This means that only your local clients are allowed to fetch
- MISSES and all other clients can only fetch HITS.
- By default, allow all clients who passed the http_access rules
- to fetch MISSES from us.
- NOCOMMENT_START
- miss_access allow all
- NOCOMMENT_END
- DOC_END
- NAME: cache_peer_access
- TYPE: peer_access
- DEFAULT: none
- LOC: none
- DOC_START
- Similar to 'cache_peer_domain' but provides more flexibility by
- using ACL elements.
- cache_peer_access cache-host allow|deny [!]aclname ...
- The syntax is identical to 'http_access' and the other lists of
- ACL elements. See the comments for 'http_access' below, or
- the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/FAQ-10.html).
- DOC_END
- NAME: proxy_auth_realm
- TYPE: eol
- DEFAULT: Squid proxy-caching web server
- LOC: Config.proxyAuthRealm
- DOC_START
- Specifies the realm name which is to be reported to the client for
- proxy authentication (part of the text the user will see when
- prompted their username and password).
- proxy_auth_realm Squid proxy-caching web server
- DOC_END
- COMMENT_START
- ADMINISTRATIVE PARAMETERS
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: cache_mgr
- TYPE: string
- DEFAULT: webmaster
- LOC: Config.adminEmail
- DOC_START
- Email-address of local cache manager who will receive
- mail if the cache dies. The default is "webmaster."
- cache_mgr webmaster
- DOC_END
- NAME: cache_effective_user
- TYPE: string
- DEFAULT: nobody
- LOC: Config.effectiveUser
- DOC_NONE
- NAME: cache_effective_group
- TYPE: string
- DEFAULT: nogroup
- LOC: Config.effectiveGroup
- DOC_START
- If the cache is run as root, it will change its effective/real
- UID/GID to the UID/GID specified below. The default is to
- change to UID to nobody and GID to nogroup.
- If Squid is not started as root, the default is to keep the
- current UID/GID. Note that if Squid is not started as root then
- you cannot set http_port to a value lower than 1024.
- cache_effective_user nobody
- cache_effective_group nogroup
- DOC_END
- NAME: visible_hostname
- TYPE: string
- LOC: Config.visibleHostname
- DEFAULT: none
- DOC_START
- If you want to present a special hostname in error messages, etc,
- then define this. Otherwise, the return value of gethostname()
- will be used. If you have multiple caches in a cluster and
- get errors about IP-forwarding you must set them to have individual
- names with this setting.
- visible_hostname www-cache.foo.org
- DOC_END
- NAME: unique_hostname
- TYPE: string
- LOC: Config.uniqueHostname
- DEFAULT: none
- DOC_START
- If you want to have multiple machines with the same
- 'visible_hostname' then you must give each machine a different
- 'unique_hostname' so that forwarding loops can be detected.
- unique_hostname www-cache1.foo.org
- DOC_END
- COMMENT_START
- OPTIONS FOR THE CACHE REGISTRATION SERVICE
- -----------------------------------------------------------------------------
- This section contains parameters for the (optional) cache
- announcement service. This service is provided to help
- cache administrators locate one another in order to join or
- create cache hierarchies.
- An 'announcement' message is sent (via UDP) to the registration
- service by Squid. By default, the annoucement message is NOT
- SENT unless you enable it with 'announce_period' below.
- The announcement message includes your hostname, plus the
- following information from this configuration file:
- http_port
- icp_port
- cache_mgr
- All current information is processed regularly and made
- available on the Web at http://ircache.nlanr.net/Cache/Tracker/.
- COMMENT_END
- NAME: announce_period
- TYPE: time_t
- LOC: Config.Announce.period
- DEFAULT: 0
- DOC_START
- This is how frequently to send cache announcements. The
- default is `0' which disables sending the announcement
- messages.
- To enable announcing your cache, just uncomment the line
- below.
- announce_period 1 day
- DOC_END
- NAME: announce_host
- TYPE: string
- DEFAULT: tracker.ircache.net
- LOC: Config.Announce.host
- DOC_NONE
- NAME: announce_file
- TYPE: string
- DEFAULT: none
- LOC: Config.Announce.file
- DOC_NONE
- NAME: announce_port
- TYPE: ushort
- DEFAULT: 3131
- LOC: Config.Announce.port
- DOC_START
- announce_host and announce_port set the hostname and port
- number where the registration message will be sent.
- Hostname will default to 'tracker.ircache.net' and port will
- default default to 3131. If the 'filename' argument is given,
- the contents of that file will be included in the announce
- message.
- announce_host tracker.ircache.net
- announce_port 3131
- DOC_END
- COMMENT_START
- HTTPD-ACCELERATOR OPTIONS
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: httpd_accel_host
- TYPE: string
- LOC: Config.Accel.host
- DEFAULT: none
- DOC_NONE
- NAME: httpd_accel_port
- TYPE: ushort
- LOC: Config.Accel.port
- DEFAULT: 80
- DOC_START
- If you want to run Squid as an httpd accelerator, define the
- host name and port number where the real HTTP server is.
- If you want virtual host support then specify the hostname
- as "virtual".
- NOTE: enabling httpd_accel_host disables proxy-caching and
- ICP. If you want these features enabled also, then set
- the 'httpd_accel_with_proxy' option.
- httpd_accel_host hostname
- httpd_accel_port port
- DOC_END
- NAME: httpd_accel_with_proxy
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.accel_with_proxy
- DOC_START
- If you want to use Squid as both a local httpd accelerator
- and as a proxy, change this to 'on'.
- httpd_accel_with_proxy off
- DOC_END
- NAME: httpd_accel_uses_host_header
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: opt_accel_uses_host
- DOC_START
- HTTP/1.1 requests include a Host: header which is basically the
- hostname from the URL. Squid can be an accelerator for
- different HTTP servers by looking at this header. However,
- Squid does NOT check the value of the Host header, so it opens
- a big security hole. We recommend that this option remain
- disabled unless you are sure of what you are doing.
- However, you will need to enable this option if you run Squid
- as a transparent proxy. Otherwise, virtual servers which
- require the Host: header will not be properly cached.
- httpd_accel_uses_host_header off
- DOC_END
- COMMENT_START
- MISCELLANEOUS
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: dns_testnames
- TYPE: wordlist
- LOC: Config.dns_testname_list
- DEFAULT: none
- DOC_START
- The DNS tests exit as soon as the first site is successfully looked up
- If you want to disable DNS tests, do not comment out or delete this
- list. Instead use the -D command line option
- dns_testnames netscape.com internic.net nlanr.net microsoft.com
- DOC_END
- NAME: logfile_rotate
- TYPE: int
- DEFAULT: 10
- LOC: Config.Log.rotateNumber
- DOC_START
- Specifies the number of logfile rotations to make when you
- type 'squid -k rotate'. The default is 10, which will rotate
- with extensions 0 through 9. Setting logfile_rotate to 0 will
- disable the rotation, but the logfiles are still closed and
- re-opened. This will enable you to rename the logfiles
- yourself just before sending the rotate signal.
- Note, the 'squid -k rotate' command normally sends a USR1
- signal to the running squid process. In certain situations
- (e.g. on Linux with Async I/O), USR1 is used for other
- purposes, so -k rotate uses another signal. It is best to get
- in the habit of using 'squid -k rotate' instead of 'kill -USR1
- <pid>'.
- logfile_rotate 10
- DOC_END
- NAME: append_domain
- TYPE: string
- LOC: Config.appendDomain
- DEFAULT: none
- DOC_START
- Appends local domain name to hostnames without any dots in
- them. append_domain must begin with a period.
- append_domain .yourdomain.com
- DOC_END
- NAME: tcp_recv_bufsize
- COMMENT: (bytes)
- TYPE: b_size_t
- DEFAULT: 0 bytes
- LOC: Config.tcpRcvBufsz
- DOC_START
- Size of receive buffer to set for TCP sockets. Probably just
- as easy to change your kernel's default. Set to zero to use
- the default buffer size.
- tcp_recv_bufsize 0 bytes
- DOC_END
- NAME: err_html_text
- TYPE: eol
- LOC: Config.errHtmlText
- DEFAULT: none
- DOC_START
- HTML text to include in error messages. Make this a "mailto"
- URL to your admin address, or maybe just a link to your
- organizations Web page.
- To include this in your error messages, you must rewrite
- the error template files (found in the "errors" directory).
- Wherever you want the 'err_html_text' line to appear,
- insert a %L tag in the error template file.
- err_html_text
- DOC_END
- NAME: deny_info
- TYPE: denyinfo
- LOC: Config.denyInfoList
- DEFAULT: none
- DOC_START
- Usage: deny_info err_page_name acl
- Example: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
- This can be used to return a ERR_ page for requests which
- do not pass the 'http_access' rules. A single ACL will cause
- the http_access check to fail. If a 'deny_info' line exists
- for that ACL then Squid returns a corresponding error page.
- You may use ERR_ pages that come with Squid or create your own pages
- and put them into the configured errors/ directory.
- DOC_END
- NAME: memory_pools
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: on
- LOC: Config.onoff.mem_pools
- DOC_START
- If set, Squid will keep pools of allocated (but unused) memory
- available for future use. If memory is a premium on your
- system and you believe your malloc library outperforms Squid
- routines, disable this.
- memory_pools on
- DOC_END
- NAME: memory_pools_limit
- COMMENT: (bytes)
- TYPE: b_size_t
- DEFAULT: none
- LOC: Config.MemPools.limit
- DOC_START
- Used only with memory_pools on:
- memory_pools_limit 50 MB
- If set to a non-zero value, Squid will keep at most the specified
- limit of allocated (but unused) memory in memory pools. All free()
- requests that exceed this limit will be handled by your malloc
- library. Squid does not pre-allocate any memory, just safe-keeps
- objects that otherwise would be free()d. Thus, it is safe to set
- memory_pools_limit to a reasonably high value even if your
- configuration will use less memory.
- If not set (default) or set to zero, Squid will keep all memory it
- can. That is, there will be no limit on the total amount of memory
- used for safe-keeping.
- To disable memory allocation optimization, do not set
- memory_pools_limit to 0. Set memory_pools to "off" instead.
- An overhead for maintaining memory pools is not taken into account
- when the limit is checked. This overhead is close to four bytes per
- object kept. However, pools may actually _save_ memory because of
- reduced memory thrashing in your malloc library.
- DOC_END
- NAME: forwarded_for
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: on
- LOC: opt_forwarded_for
- DOC_START
- If set, Squid will include your system's IP address or name
- in the HTTP requests it forwards. By default it looks like
- this:
- X-Forwarded-For: 192.1.2.3
- If you disable this, it will appear as
- X-Forwarded-For: unknown
- forwarded_for on
- DOC_END
- NAME: log_icp_queries
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: on
- LOC: Config.onoff.log_udp
- DOC_START
- If set, ICP queries are logged to access.log. You may wish
- do disable this if your ICP load is VERY high to speed things
- up or to simplify log analysis.
- log_icp_queries on
- DOC_END
- NAME: icp_hit_stale
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.icp_hit_stale
- DOC_START
- If you want to return ICP_HIT for stale cache objects, set this
- option to 'on'. If you have sibling relationships with caches
- in other administrative domains, this should be 'off'. If you only
- have sibling relationships with caches under your control, then
- it is probably okay to set this to 'on'.
- icp_hit_stale off
- DOC_END
- NAME: minimum_direct_hops
- TYPE: int
- DEFAULT: 4
- LOC: Config.minDirectHops
- DOC_START
- If using the ICMP pinging stuff, do direct fetches for sites
- which are no more than this many hops away.
- minimum_direct_hops 4
- DOC_END
- NAME: cachemgr_passwd
- TYPE: cachemgrpasswd
- DEFAULT: none
- LOC: Config.passwd_list
- DOC_START
- Specify passwords for cachemgr operations.
- Usage: cachemgr_passwd password action action ...
- Some valid actions are (see cache manager menu for a full list):
- 5min
- 60min
- asndb
- authenticator
- cbdata
- client_list
- comm_incoming
- config *
- counters
- delay
- digest_stats
- dns
- events
- filedescriptors
- fqdncache
- histograms
- http_headers
- info
- io
- ipcache
- mem
- menu
- netdb
- non_peers
- objects
- pconn
- peer_select
- redirector
- refresh
- server_list
- shutdown *
- store_digest
- storedir
- utilization
- via_headers
- vm_objects
- * Indicates actions which will not be performed without a
- valid password, others can be performed if not listed here.
- To disable an action, set the password to "disable".
- To allow performing an action without a password, set the
- password to "none".
- Use the keyword "all" to set the same password for all actions.
- cachemgr_passwd secret shutdown
- cachemgr_passwd lesssssssecret info stats/objects
- cachemgr_passwd disable all
- DOC_END
- NAME: store_avg_object_size
- COMMENT: (kbytes)
- TYPE: kb_size_t
- DEFAULT: 13 KB
- LOC: Config.Store.avgObjectSize
- DOC_START
- Average object size, used to estimate number of objects your
- cache can hold. See doc/Release-Notes-1.1.txt. The default is
- 13 KB.
- store_avg_object_size 13 KB
- DOC_END
- NAME: store_objects_per_bucket
- TYPE: int
- DEFAULT: 50
- LOC: Config.Store.objectsPerBucket
- DOC_START
- Target number of objects per bucket in the store hash table.
- Lowering this value increases the total number of buckets and
- also the storage maintenance rate. The default is 20.
- store_objects_per_bucket 20
- DOC_END
- NAME: client_db
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: on
- LOC: Config.onoff.client_db
- DOC_START
- If you want to disable collecting per-client statistics, then
- turn off client_db here.
- client_db on
- DOC_END
- NAME: netdb_low
- TYPE: int
- DEFAULT: 900
- LOC: Config.Netdb.low
- DOC_NONE
- NAME: netdb_high
- TYPE: int
- DEFAULT: 1000
- LOC: Config.Netdb.high
- DOC_START
- The low and high water marks for the ICMP measurement
- database. These are counts, not percents. The defaults are
- 900 and 1000. When the high water mark is reached, database
- entries will be deleted until the low mark is reached.
- netdb_low 900
- netdb_high 1000
- DOC_END
- NAME: netdb_ping_period
- TYPE: time_t
- LOC: Config.Netdb.period
- DEFAULT: 5 minutes
- DOC_START
- The minimum period for measuring a site. There will be at
- least this much delay between successive pings to the same
- network. The default is five minutes.
- netdb_ping_period 5 minutes
- DOC_END
- NAME: query_icmp
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.query_icmp
- DOC_START
- If you want to ask your peers to include ICMP data in their ICP
- replies, enable this option.
- If your peer has configured Squid (during compilation) with
- '--enable-icmp' then that peer will send ICMP pings to origin server
- sites of the URLs it receives. If you enable this option then the
- ICP replies from that peer will include the ICMP data (if available).
- Then, when choosing a parent cache, Squid will choose the parent with
- the minimal RTT to the origin server. When this happens, the
- hierarchy field of the access.log will be
- "CLOSEST_PARENT_MISS". This option is off by default.
- query_icmp off
- DOC_END
- NAME: test_reachability
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.test_reachability
- DOC_START
- When this is 'on', ICP MISS replies will be ICP_MISS_NOFETCH
- instead of ICP_MISS if the target host is NOT in the ICMP
- database, or has a zero RTT.
- test_reachability off
- DOC_END
- NAME: buffered_logs
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.buffered_logs
- DOC_START
- Some log files (cache.log, useragent.log) are written with
- stdio functions, and as such they can be buffered or
- unbuffered. By default they will be unbuffered. Buffering them
- can speed up the writing slightly (though you are unlikely to
- need to worry).
- buffered_logs off
- DOC_END
- NAME: reload_into_ims
- IFDEF: HTTP_VIOLATIONS
- COMMENT: on|off
- TYPE: onoff
- DEFAULT: off
- LOC: Config.onoff.reload_into_ims
- DOC_START
- When you enable this option, client no-cache or ``reload''
- requests will be changed to If-Modified-Since requests.
- Doing this VIOLATES the HTTP standard. Enabling this
- feature could make you liable for problems which it
- causes.
-
- see also refresh_pattern for a more selective approach.
- reload_into_ims off
- DOC_END
- NAME: always_direct
- TYPE: acl_access
- LOC: Config.accessList.AlwaysDirect
- DEFAULT: none
- DOC_START
- Usage: always_direct allow|deny [!]aclname ...
- Here you can use ACL elements to specify requests which should
- ALWAYS be forwarded directly to origin servers. For example,
- to always directly forward requests for local servers use
- something like:
- acl local-servers dstdomain my.domain.net
- always_direct allow local-servers
- To always forward FTP requests directly, use
- acl FTP proto FTP
- always_direct allow FTP
- NOTE: There is a similar, but opposite option named
- 'never_direct'. You need to be aware that "always_direct deny
- foo" is NOT the same thing as "never_direct allow foo". You
- may need to use a deny rule to exclude a more-specific case of
- some other rule. Example:
- acl local-external dstdomain external.foo.net
- acl local-servers dstdomain foo.net
- always_direct deny local-external
- always_direct allow local-servers
- This option replaces some v1.1 options such as local_domain
- and local_ip.
- DOC_END
- NAME: never_direct
- TYPE: acl_access
- LOC: Config.accessList.NeverDirect
- DEFAULT: none
- DOC_START
- Usage: never_direct allow|deny [!]aclname ...
- never_direct is the opposite of always_direct. Please read
- the description for always_direct if you have not already.
- With 'never_direct' you can use ACL elements to specify
- requests which should NEVER be forwarded directly to origin
- servers. For example, to force the use of a proxy for all
- requests, except those in your local domain use something like:
- acl local-servers dstdomain foo.net
- acl all src 0.0.0.0/0.0.0.0
- never_direct deny local-servers
- never_direct allow all
-
- or if squid is inside a firewall and there is local intranet
- servers inside the firewall then use something like:
- acl local-intranet dstdomain foo.net
- acl local-external dstdomain external.foo.net
- always_direct deny local-external
- always_direct allow local-intranet
- never_direct allow all
-
- This option replaces some v1.1 options such as inside_firewall
- and firewall_ip.
- DOC_END
- NAME: anonymize_headers
- TYPE: http_header
- LOC: Config.anonymize_headers
- DEFAULT: none
- DOC_START
- Usage: anonymize_headers allow|deny header_name ...
- This option replaces the old 'http_anonymizer' option with
- something that is much more configurable. You may now
- specify exactly which headers are to be allowed, or which
- are to be removed from outgoing requests.
- There are two methods of using this option. You may either
- allow specific headers (thus denying all others), or you
- may deny specific headers (thus allowing all others).
- For example, to achieve the same behaviour as the old
- 'http_anonymizer standard' option, you should use:
- anonymize_headers deny From Referer Server
- anonymize_headers deny User-Agent WWW-Authenticate Link
-
- Or, to reproduce the old 'http_anonymizer paranoid' feature
- you should use:
- anonymize_headers allow Allow Authorization Cache-Control
- anonymize_headers allow Content-Encoding Content-Length
- anonymize_headers allow Content-Type Date Expires Host
- anonymize_headers allow If-Modified-Since Last-Modified
- anonymize_headers allow Location Pragma Accept Charset
- anonymize_headers allow Accept-Encoding Accept-Language
- anonymize_headers allow Content-Language Mime-Version
- anonymize_headers allow Retry-After Title Connection
- anonymize_headers allow Proxy-Connection
- NOTE: You can not mix "allow" and "deny". All 'anonymize_headers'
- lines must have the same second argument.
- By default, all headers are allowed (no anonymizing is
- performed).
- anonymize_headers
- DOC_END
- NAME: fake_user_agent
- TYPE: eol
- LOC: Config.fake_ua
- DEFAULT: none
- DOC_START
- If you filter the User-Agent header with 'anonymize_headers' it
- may cause some Web servers to refuse your request. Use this to
- fake one up. For example:
- fake_user_agent Nutscrape/1.0 (CP/M; 8-bit)
- (credit to Paul Southworth pauls@etext.org for this one!)
- fake_user_agent none
- DOC_END
- NAME: icon_directory
- TYPE: string
- LOC: Config.icons.directory
- DEFAULT: @DEFAULT_ICON_DIR@
- DOC_START
- Where the icons are stored. These are normally kept in
- @DEFAULT_ICON_DIR@
- DOC_END
- NAME: error_directory
- TYPE: string
- LOC: Config.errorDirectory
- DEFAULT: @DEFAULT_ERROR_DIR@
- DOC_START
- If you wish to create your own versions of the default
- (English) error files, either to customise them to suit your
- language or company copy the template english files to another
- directory and point this tag at them.
- DOC_END
- NAME: minimum_retry_timeout
- COMMENT: (seconds)
- TYPE: time_t
- LOC: Config.retry.timeout
- DEFAULT: 5 seconds
- DOC_START
- This specifies the minimum connect timeout, for when the
- connect timeout is reduced to compensate for the availability
- of multiple IP addresses.
- When a connection to a host is initiated, and that host has
- several IP addresses, the default connection timeout is reduced
- by dividing it by the number of addresses. So, a site with 15
- addresses would then have a timeout of 8 seconds for each
- address attempted. To avoid having the timeout reduced to the
- point where even a working host would not have a chance to
- respond, this setting is provided. The default, and the
- minimum value, is five seconds, and the maximum value is sixty
- seconds, or half of connect_timeout, whichever is greater and
- less than connect_timeout.
- minimum_retry_timeout 5 seconds
- DOC_END
- NAME: maximum_single_addr_tries
- TYPE: int
- LOC: Config.retry.maxtries
- DEFAULT: 3
- DOC_START
- This sets the maximum number of connection attempts for a
- host that only has one address (for multiple-address hosts,
- each address is tried once).
- The default value is three tries, the (not recommended)
- maximum is 255 tries. A warning message will be generated
- if it is set to a value greater than ten.
- maximum_single_addr_tries 3
- DOC_END
- NAME: snmp_port
- TYPE: ushort
- LOC: Config.Port.snmp
- DEFAULT: 3401
- IFDEF: SQUID_SNMP
- DOC_START
- Squid can now serve statistics and status information via SNMP.
- By default it listens to port 3401 on the machine. If you don't
- wish to use SNMP, set this to '-1'.
- NOTE: SNMP support requires use the --enable-snmp configure
- command line option.
- snmp_port 3401
- DOC_END
- NAME: forward_snmpd_port
- TYPE: ushort
- LOC: Config.Snmp.localPort
- DEFAULT: 0
- IFDEF: SQUID_SNMP
- DOC_START
- This configures whether we should be forwarding SNMP requests
- to another snmpd. The reason for putting this piece of
- functionality into Squid was to enable access to the system's
- installed snmpd with minimal changes. This option is turned
- off by default, check with your /etc/services for your system's
- snmp port (usually 161). We do not use getservbyname() to
- allow you to set Squid into port 161 and your system's snmpd to
- another port by changing /etc/services.
- WARNING: Because of Squid acting as a proxy snmpd for system
- you have to do security checks on THIS snmpd for all objects.
- Check your snmp_config_file.
- forward_snmpd_port 0
- DOC_END
- NAME: snmp_access
- TYPE: acl_access
- LOC: Config.accessList.snmp
- DEFAULT: none
- DEFAULT_IF_NONE: deny all
- IFDEF: SQUID_SNMP
- DOC_START
- Allowing or denying access to the SNMP port.
- All access to the agent is denied by default.
- usage:
- snmp_access allow|deny [!]aclname ...
- Example:
- snmp_access allow public localhost
- snmp_access deny all
- DOC_END
- NAME: snmp_incoming_address
- TYPE: address
- LOC: Config.Addrs.snmp_outgoing
- DEFAULT: 0.0.0.0
- IFDEF: SQUID_SNMP
- DOC_NONE
- NAME: snmp_outgoing_address
- TYPE: address
- LOC: Config.Addrs.snmp_outgoing
- DEFAULT: 255.255.255.255
- IFDEF: SQUID_SNMP
- DOC_START
- Just like 'udp_incoming_address' above, but for the SNMP port.
- snmp_incoming_address is used for the SNMP socket receiving
- messages from SNMP agents.
- snmp_outgoing_address is used for SNMP packets returned to SNMP
- agents.
- The default behaviour is to not bind to any specific address.
- NOTE, snmp_incoming_address and snmp_outgoing_address can not have
- the same value since they both use port 3130.
- snmp_incoming_address 0.0.0.0
- snmp_outgoing_address 0.0.0.0
- DOC_END
- NAME: as_whois_server
- TYPE: string
- LOC: Config.as_whois_server
- DEFAULT: whois.ra.net
- DEFAULT_IF_NONE: whois.ra.net
- DOC_START
- WHOIS server to query for AS numbers. NOTE: AS numbers are
- queried only when Squid starts up, not for every request.
- DOC_END
- COMMENT_START
- DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
- -----------------------------------------------------------------------------
- COMMENT_END
- NAME: delay_pools
- TYPE: delay_pool_count
- DEFAULT: 0
- IFDEF: DELAY_POOLS
- LOC: Config.Delay
- DOC_START
- This represents the number of delay pools to be used. For example,
- if you have one class 2 delay pool and one class 3 delays pool, you
- have a total of 2 delay pools.
- delay_pools 0
- DOC_END
- NAME: delay_class
- TYPE: delay_pool_class
- DEFAULT: none
- IFDEF: DELAY_POOLS
- LOC: Config.Delay
- DOC_START
- This defines the class of each delay pool. There must be exactly one
- delay_class line for each delay pool. For example, to define two
- delay pools, one of class 2 and one of class 3, the settings above
- and here would be:
- delay_pools 2 # 2 delay pools
- delay_class 1 2 # pool 1 is a class 2 pool
- delay_class 2 3 # pool 2 is a class 3 pool
- The delay pool classes are:
- class 1 Everything is limited by a single aggregate
- bucket.
- class 2 Everything is limited by a single aggregate
- bucket as well as an "individual" bucket chosen
- from bits 25 through 32 of the IP address.
- class 3 Everything is limited by a single aggregate
- bucket as well as a "network" bucket chosen
- from bits 17 through 24 of the IP address and a
- "individual" bucket chosen from bits 17 through
- 32 of the IP address.
- NOTE: If an IP address is a.b.c.d
- -> bits 25 through 32 are "d"
- -> bits 17 through 24 are "c"
- -> bits 17 through 32 are "c * 256 + d"
- DOC_END
- NAME: delay_access
- TYPE: delay_pool_access
- DEFAULT: none
- IFDEF: DELAY_POOLS
- LOC: Config.Delay
- DOC_START
- This is used to determine which delay pool a request falls into.
- The first matched delay pool is always used, ie, if a request falls
- into delay pool number one, no more delay are checked, otherwise the
- rest are checked in order of their delay pool number until they have
- all been checked. For example, if you want some_big_clients in delay
- pool 1 and lotsa_little_clients in delay pool 2:
- delay_access 1 allow some_big_clients
- delay_access 1 deny all
- delay_access 2 allow lotsa_little_clients
- delay_access 2 deny all
- DOC_END
- NAME: delay_parameters
- TYPE: delay_pool_rates
- DEFAULT: none
- IFDEF: DELAY_POOLS
- LOC: Config.Delay
- DOC_START
- This defines the parameters for a delay pool. Each delay pool has
- a number of "buckets" associated with it, as explained in the
- description of delay_class. For a class 1 delay pool, the syntax is:
- delay_parameters pool aggregate
- For a class 2 delay pool:
- delay_parameters pool aggregate individual
- For a class 3 delay pool:
- delay_parameters pool aggregate network individual
- The variables here are:
- pool a pool number - ie, a number between 1 and the
- number specified in delay_pools as used in
- delay_class lines.
- aggregate the "delay parameters" for the aggregate bucket
- (class 1, 2, 3).
- individual the "delay parameters" for the individual
- buckets (class 2, 3).
- network the "delay parameters" for the network buckets
- (class 3).
- A pair of delay parameters is written restore/maximum, where restore is
- the number of bytes (not bits - modem and network speeds are usually
- quoted in bits) per second placed into the bucket, and maximum is the
- maximum number of bytes which can be in the bucket at any time.
- For example, if delay pool number 1 is a class 2 delay pool as in the
- above example, and is being used to strictly limit each host to 64kbps
- (plus overheads), with no overall limit, the line is:
- delay_parameters 1 -1/-1 8000/8000
- Note that the figure -1 is used to represent "unlimited".
- And, if delay pool number 2 is a class 3 delay pool as in the above
- example, and you want to limit it to a total of 256kbps (strict limit)
- with each 8-bit network permitted 64kbps (strict limit) and each
- individual host permitted 4800bps with a bucket maximum size of 64kb
- to permit a decent web page to be downloaded at a decent speed
- (if the network is not being limited due to overuse) but slow down
- large downloads more significantly:
- delay_parameters 2 32000/32000 8000/8000 600/64000
- There must be one delay_parameters line for each delay pool.
- DOC_END
- NAME: delay_initial_bucket_level
- COMMENT: (percent, 0-100)
- TYPE: ushort
- DEFAULT: 50
- IFDEF: DELAY_POOLS
- LOC: Config.Delay.initial
- DOC_START
- The initial bucket percentage is used to determine how much is put
- in each bucket when squid starts, is reconfigured, or first notices
- a host accessing it (in class 2 and class 3, individual hosts and
- networks only have buckets associated with them once they have been
- "seen" by squid).
- delay_initial_bucket_level 50
- DOC_END
- NAME: incoming_icp_average
- TYPE: int
- DEFAULT: 6
- LOC: Config.comm_incoming.icp_average
- DOC_NONE
- NAME: incoming_http_average
- TYPE: int
- DEFAULT: 4
- LOC: Config.comm_incoming.http_average
- DOC_NONE
- NAME: min_icp_poll_cnt
- TYPE: int
- DEFAULT: 8
- LOC: Config.comm_incoming.icp_min_poll
- DOC_NONE
- NAME: min_http_poll_cnt
- TYPE: int
- DEFAULT: 8
- LOC: Config.comm_incoming.http_min_poll
- DOC_START
- Heavy voodoo here. I can't even believe you are reading this.
- Are you crazy? Don't even think about adjusting these unless
- you understand the algorithms in comm_select.c first!
- incoming_icp_average 6
- incoming_http_average 4
- min_icp_poll_cnt 8
- min_http_poll_cnt 8
- DOC_END
- NAME: max_open_disk_fds
- TYPE: int
- LOC: Config.max_open_disk_fds
- DEFAULT: 0
- DOC_NONE
- NAME: offline_mode
- TYPE: onoff
- LOC: Config.onoff.offline
- DEFAULT: off
- DOC_START
- Enable this option and Squid will never try to validate cached
- objects.
- DOC_END
- NAME: uri_whitespace
- TYPE: uri_whitespace
- LOC: Config.uri_whitespace
- DEFAULT: deny
- DOC_START
- What to do with requests that have whitespace characters in the
- URI. Options:
- deny: The request is denied. The user receives an "Invalid
- Request" message.
- allow: The request is allowed and the URI is not changed. The
- whitespace characters remain in the URI. Note the
- whitespace is passed to redirector processes if they
- are in use.
- encode: The request is allowed and the whitespace characters are
- encoded according to RFC1738. This could be considered
- a violation of the HTTP/1.1
- RFC because proxies are not allowed to rewrite URI's.
- chop: The request is allowed and the URI is chopped at the
- first whitespace. This might also be considered a
- violation.
- uri_whitespace deny
- DOC_END
- NAME: broken_posts
- TYPE: acl_access
- DEFAULT: none
- LOC: Config.accessList.brokenPosts
- DOC_START
- A list of ACL elements which, if matched, causes Squid to send
- a extra CRLF pair after the body of a PUT/POST request.
- Some HTTP servers has broken implementations of PUT/POST,
- and rely on a extra CRLF pair sent by some WWW clients.
- Quote from RFC 2068 section 4.1 on this matter:
- Note: certain buggy HTTP/1.0 client implementations generate an
- extra CRLF's after a POST request. To restate what is explicitly
- forbidden by the BNF, an HTTP/1.1 client must not preface or follow
- a request with an extra CRLF.
- acl buggy_server url_regex ^http://....
- broken_posts allow buggy_server
- DOC_END
- NAME: mcast_miss_addr
- IFDEF: MULTICAST_MISS_STREAM
- TYPE: address
- LOC: Config.mcast_miss.addr
- DEFAULT: 255.255.255.255
- DOC_START
- If you enable this option, every "cache miss" URL will
- be sent out on the specified multicast address.
- Do not enable this option unless you are are absolutely
- certain you understand what you are doing.
- DOC_END
- NAME: mcast_miss_port
- IFDEF: MULTICAST_MISS_STREAM
- TYPE: ushort
- LOC: Config.mcast_miss.port
- DEFAULT: 3135
- DOC_START
- This is the port number to be used in conjuction with
- 'mcast_miss_addr'.
- DOC_END
- NAME: mcast_miss_encode_key
- IFDEF: MULTICAST_MISS_STREAM
- TYPE: string
- LOC: Config.mcast_miss.encode_key
- DEFAULT: XXXXXXXXXXXXXXXX
- DOC_START
- The URLs that are sent in the multicast miss stream are
- encrypted. This is the encryption key.
- DOC_END
- NAME: prefer_direct
- TYPE: onoff
- LOC: Config.onoff.prefer_direct
- DEFAULT: on
- DOC_START
- By default, if the ICP, HTCP, Cache Digest, etc. techniques
- do not yield a parent cache, Squid gives higher preference
- to forwarding the request direct to origin servers, rather
- than selecting a parent cache anyway.
- If you want Squid to give higher precedence to a parent
- cache, instead of going direct, then turn this option off.
- prefer_direct on
- DOC_END
- NAME: strip_query_terms
- TYPE: onoff
- LOC: Config.onoff.strip_query_terms
- DEFAULT: on
- DOC_START
- By default, Squid strips query terms from requested URLs before
- logging. This protects your user's privacy.
- strip_query_terms on
- DOC_END
- EOF