]> git.ipfire.org Git - thirdparty/squid.git/blame - src/cf.data.pre
DW:
[thirdparty/squid.git] / src / cf.data.pre
CommitLineData
3a278cb8 1
9cef6668 2#
011ebb69 3# $Id: cf.data.pre,v 1.181 2000/05/12 03:11:40 wessels Exp $
9cef6668 4#
5#
6# SQUID Internet Object Cache http://squid.nlanr.net/Squid/
7# ----------------------------------------------------------
8#
9# Squid is the result of efforts by numerous individuals from the
10# Internet community. Development is led by Duane Wessels of the
11# National Laboratory for Applied Network Research and funded by the
12# National Science Foundation. Squid is Copyrighted (C) 1998 by
efd900cb 13# the Regents of the University of California. Please see the
14# COPYRIGHT file for full details. Squid incorporates software
15# developed and/or copyrighted by other sources. Please see the
16# CREDITS file for full details.
9cef6668 17#
18# This program is free software; you can redistribute it and/or modify
19# it under the terms of the GNU General Public License as published by
20# the Free Software Foundation; either version 2 of the License, or
21# (at your option) any later version.
22#
23# This program is distributed in the hope that it will be useful,
24# but WITHOUT ANY WARRANTY; without even the implied warranty of
25# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26# GNU General Public License for more details.
27#
28# You should have received a copy of the GNU General Public License
29# along with this program; if not, write to the Free Software
30# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
31#
32
0f74202c 33COMMENT_START
448cd7c7 34 WELCOME TO SQUID 2
35 ------------------
3a278cb8 36
cf5cc17e 37 This is the default Squid configuration file. You may wish
6b8e7481 38 to look at the Squid home page (http://squid.nlanr.net/)
39 for the FAQ and other documentation.
3a278cb8 40
debd9a31 41 The default Squid config file shows what the defaults for
42 various options happen to be. If you don't need to change the
43 default, you shouldn't uncomment the line. Doing so may cause
44 run-time problems. In some cases "none" refers to no default
efd900cb 45 setting at all, while in other cases it refers to a valid
debd9a31 46 option - the comments for that keyword indicate if this is the
47 case.
48
0f74202c 49COMMENT_END
3a278cb8 50
0f74202c 51COMMENT_START
3a278cb8 52 NETWORK OPTIONS
53 -----------------------------------------------------------------------------
0f74202c 54COMMENT_END
3a278cb8 55
934b03fc 56NAME: http_port ascii_port
7e3ce7b9 57TYPE: sockaddr_in_list
f53b06f9 58DEFAULT: none
59DEFAULT_IF_NONE: 3128
7e3ce7b9 60LOC: Config.Sockaddr.http
934b03fc 61DOC_START
7e3ce7b9 62 Usage: port
63 hostname:port
64 1.2.3.4:port
934b03fc 65
7e3ce7b9 66 The socket addresses where Squid will listen for HTTP client
67 requests. You may specify multiple socket addresses.
68 There are three forms: port alone, hostname with port, and
69 IP address with port. If you specify a hostname or IP
70 address, then Squid binds the socket to that specific
71 address. This replaces the old 'tcp_incoming_address'
72 option. Most likely, you do not need to bind to a specific
73 address, so you can use the port number alone.
74
75 The default port number is 3128.
76
efd900cb 77 If you are running Squid in accelerator mode, then you
7e3ce7b9 78 probably want to listen on port 80 also, or instead.
79
80 The -a command line option will override the *first* port
81 number listed here. That option will NOT override an IP
82 address, however.
934b03fc 83
efd900cb 84 You may specify multiple socket addresses on multiple lines.
934b03fc 85DOC_END
86
87
88NAME: icp_port udp_port
89TYPE: ushort
90DEFAULT: 3130
91LOC: Config.Port.icp
92DOC_START
78a0e865 93 The port number where Squid sends and receives ICP queries to
934b03fc 94 and from neighbor caches. Default is 3130. To disable use
95 "0". May be overridden with -u on the command line.
934b03fc 96DOC_END
97
459f1836 98NAME: htcp_port
99IFDEF: USE_HTCP
100TYPE: ushort
101DEFAULT: 4827
102LOC: Config.Port.htcp
103DOC_START
78a0e865 104 The port number where Squid sends and receives HTCP queries to
459f1836 105 and from neighbor caches. Default is 4827. To disable use
106 "0".
107
6b8e7481 108 To enable this option, you must use --enable-htcp with the
109 configure script.
459f1836 110DOC_END
111
934b03fc 112
113NAME: mcast_groups
114TYPE: wordlist
115LOC: Config.mcast_group_list
1273d501 116DEFAULT: none
934b03fc 117DOC_START
cf5cc17e 118 This tag specifies a list of multicast groups which your server
78a0e865 119 should join to receive multicasted ICP queries.
934b03fc 120
121 NOTE! Be very careful what you put here! Be sure you
122 understand the difference between an ICP _query_ and an ICP
123 _reply_. This option is to be set only if you want to RECEIVE
124 multicast queries. Do NOT set this option to SEND multicast
a95856a0 125 ICP (use cache_peer for that). ICP replies are always sent via
934b03fc 126 unicast, so this option does not affect whether or not you will
127 receive replies from multicast group members.
128
129 You must be very careful to NOT use a multicast address which
efd900cb 130 is already in use by another group of caches.
934b03fc 131
cf5cc17e 132 If you are unsure about multicast, please read the Multicast
133 chapter in the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/).
134
934b03fc 135 Usage: mcast_groups 239.128.16.128 224.0.1.20
136
cf5cc17e 137 By default, Squid doesn't listen on any multicast groups.
934b03fc 138DOC_END
139
140
934b03fc 141NAME: tcp_outgoing_address outbound_address
142TYPE: address
143LOC: Config.Addrs.tcp_outgoing
270b86af 144DEFAULT: 255.255.255.255
934b03fc 145DOC_NONE
146
147NAME: udp_incoming_address
148TYPE: address
149LOC:Config.Addrs.udp_incoming
270b86af 150DEFAULT: 0.0.0.0
934b03fc 151DOC_NONE
152
153NAME: udp_outgoing_address
154TYPE: address
155LOC: Config.Addrs.udp_outgoing
270b86af 156DEFAULT: 255.255.255.255
934b03fc 157DOC_START
158 Usage: tcp_incoming_address 10.20.30.40
159 udp_outgoing_address fully.qualified.domain.name
160
934b03fc 161 tcp_outgoing_address is used for connections made to remote
162 servers and other caches.
163 udp_incoming_address is used for the ICP socket receiving packets
164 from other caches.
165 udp_outgoing_address is used for ICP packets sent out to other
166 caches.
167
efd900cb 168 The default behavior is to not bind to any specific address.
934b03fc 169
6b53c392 170 A *_incoming_address value of 0.0.0.0 indicates that Squid should
171 listen on all available interfaces.
172
173 If udp_outgoing_address is set to 255.255.255.255 (the default)
174 then it will use the same socket as udp_incoming_address. Only
175 change this if you want to have ICP queries sent using another
176 address than where this Squid listens for ICP queries from other
177 caches.
178
5a3f6538 179 NOTE, udp_incoming_address and udp_outgoing_address can not
6b53c392 180 have the same value since they both use port 3130.
934b03fc 181
7e3ce7b9 182 NOTE, tcp_incoming_address has been removed. You can now
183 specify IP addresses on the 'http_port' line.
934b03fc 184DOC_END
185
0f74202c 186COMMENT_START
3a278cb8 187 OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
188 -----------------------------------------------------------------------------
0f74202c 189COMMENT_END
934b03fc 190
40a1495e 191NAME: cache_peer
192TYPE: peer
1273d501 193DEFAULT: none
0153d498 194LOC: Config.peers
934b03fc 195DOC_START
196 To specify other caches in a hierarchy, use the format:
197
6b53c392 198 cache_peer hostname type http_port icp_port
934b03fc 199
d0d41f07 200 For example,
934b03fc 201
202 # proxy icp
203 # hostname type port port options
204 # -------------------- -------- ----- ----- -----------
cf5cc17e 205 cache_peer parent.foo.net parent 3128 3130 [proxy-only]
206 cache_peer sib1.foo.net sibling 3128 3130 [proxy-only]
207 cache_peer sib2.foo.net sibling 3128 3130 [proxy-only]
934b03fc 208
209 type: either 'parent', 'sibling', or 'multicast'.
210
211 proxy_port: The port number where the cache listens for proxy
212 requests.
213
214 icp_port: Used for querying neighbor caches about
215 objects. To have a non-ICP neighbor
216 specify '7' for the ICP port and make sure the
217 neighbor machine has the UDP echo port
218 enabled in its /etc/inetd.conf file.
219
220 options: proxy-only
221 weight=n
222 ttl=n
223 no-query
224 default
225 round-robin
226 multicast-responder
b3264694 227 closest-only
46b034a4 228 no-digest
223213df 229 no-netdb-exchange
95e36d02 230 no-delay
c68e9c6b 231 login=user:password
3f62decd 232 connect-timeout=nn
7e3ce7b9 233 digest-url=url
987de783 234 allow-miss
934b03fc 235
236 use 'proxy-only' to specify that objects fetched
237 from this cache should not be saved locally.
238
239 use 'weight=n' to specify a weighted parent.
240 The weight must be an integer. The default weight
241 is 1, larger weights are favored more.
242
243 use 'ttl=n' to specify a IP multicast TTL to use
78a0e865 244 when sending an ICP queries to this address.
934b03fc 245 Only useful when sending to a multicast group.
246 Because we don't accept ICP replies from random
247 hosts, you must configure other group members as
248 peers with the 'multicast-responder' option below.
249
250 use 'no-query' to NOT send ICP queries to this
251 neighbor.
252
253 use 'default' if this is a parent cache which can
254 be used as a "last-resort." You should probably
255 only use 'default' in situations where you cannot
256 use ICP with your parent cache(s).
257
258 use 'round-robin' to define a set of parents which
259 should be used in a round-robin fashion in the
260 absence of any ICP queries.
261
262 'multicast-responder' indicates that the named peer
263 is a member of a multicast group. ICP queries will
264 not be sent directly to the peer, but ICP replies
265 will be accepted from it.
266
b3264694 267 'closest-only' indicates that, for ICP_OP_MISS
268 replies, we'll only forward CLOSEST_PARENT_MISSes
269 and never FIRST_PARENT_MISSes.
270
46b034a4 271 use 'no-digest' to NOT request cache digests from
272 this neighbor.
273
223213df 274 'no-netdb-exchange' disables requesting ICMP
275 RTT database (NetDB) from the neighbor.
276
95e36d02 277 use 'no-delay' to prevent access to this neighbor
278 from influencing the delay pools.
279
c68e9c6b 280 use 'login=user:password' if this is a personal/workgroup
281 proxy and your parent requires proxy authentication.
282
3f62decd 283 use 'connect-timeout=nn' to specify a peer
284 specific connect timeout (also see the
285 peer_connect_timeout directive)
286
7e3ce7b9 287 use 'digest-url=url' to tell Squid to fetch the cache
288 digest (if digests are enabled) for this host from
289 the specified URL rather than the Squid default
290 location.
3f62decd 291
987de783 292 use 'allow-miss' to disable Squid's use of only-if-cached
293 when forwarding requests to siblings. This is primarily
294 useful when icp_hit_stale is used by the sibling. To
295 extensive use of this option may result in forwarding
296 loops, and you should avoid having two-way peerings
297 with this option. (for example to deny peer usage on
298 requests from peer by denying cache_peer_access if the
299 source is a peer)
300
934b03fc 301 NOTE: non-ICP neighbors must be specified as 'parent'.
934b03fc 302DOC_END
303
af7d912e 304NAME: cache_peer_domain cache_host_domain
934b03fc 305TYPE: hostdomain
f1dc9b30 306DEFAULT: none
307LOC: none
934b03fc 308DOC_START
cf5cc17e 309 Use to limit the domains for which a neighbor cache will be
310 queried. Usage:
934b03fc 311
af7d912e 312 cache_peer_domain cache-host domain [domain ...]
313 cache_peer_domain cache-host !domain
934b03fc 314
315 For example, specifying
316
af7d912e 317 cache_peer_domain parent.foo.net .edu
934b03fc 318
319 has the effect such that UDP query packets are sent to
320 'bigserver' only when the requested object exists on a
321 server in the .edu domain. Prefixing the domainname
322 with '!' means that the cache will be queried for objects
323 NOT in that domain.
324
325 NOTE: * Any number of domains may be given for a cache-host,
326 either on the same or separate lines.
327 * When multiple domains are given for a particular
328 cache-host, the first matched domain is applied.
329 * Cache hosts with no domain restrictions are queried
330 for all requests.
331 * There are no defaults.
3794b2b6 332 * There is also a 'cache_peer_access' tag in the ACL
934b03fc 333 section.
334DOC_END
335
336
337NAME: neighbor_type_domain
338TYPE: hostdomaintype
f1dc9b30 339DEFAULT: none
340LOC: none
934b03fc 341DOC_START
342 usage: neighbor_type_domain parent|sibling domain domain ...
343
344 Modifying the neighbor type for specific domains is now
345 possible. You can treat some domains differently than the the
a95856a0 346 default neighbor type specified on the 'cache_peer' line.
934b03fc 347 Normally it should only be necessary to list domains which
348 should be treated differently because the default neighbor type
349 applies for hostnames which do not match domains listed here.
350
351EXAMPLE:
a95856a0 352 cache_peer parent cache.foo.org 3128 3130
934b03fc 353 neighbor_type_domain cache.foo.org sibling .com .net
354 neighbor_type_domain cache.foo.org sibling .au .de
355DOC_END
356
465dc415 357NAME: icp_query_timeout
358COMMENT: (msec)
359DEFAULT: 0
360TYPE: int
361LOC: Config.Timeout.icp_query
934b03fc 362DOC_START
465dc415 363 Normally Squid will automatically determine an optimal ICP
364 query timeout value based on the round-trip-time of recent ICP
365 queries. If you want to override the value determined by
366 Squid, set this 'icp_query_timeout' to a non-zero value. This
367 value is specified in MILLISECONDS, so, to use a 2-second
368 timeout (the old default), you would write:
934b03fc 369
465dc415 370 icp_query_timeout 2000
465dc415 371DOC_END
372
28993292 373NAME: maximum_icp_query_timeout
374COMMENT: (msec)
375DEFAULT: 2000
376TYPE: int
377LOC: Config.Timeout.icp_query_max
378DOC_START
efd900cb 379 Normally the ICP query timeout is determined dynamically. But
380 sometimes it can lead to very large values (say 5 seconds).
381 Use this option to put an upper limit on the dynamic timeout
382 value. Do NOT use this option to always use a fixed (instead
383 of a dynamic) timeout value.
28993292 384
efd900cb 385 If 'icp_query_timeout' is set to zero, then this value is
386 ignored.
28993292 387DOC_END
388
465dc415 389NAME: mcast_icp_query_timeout
390COMMENT: (msec)
391DEFAULT: 2000
392TYPE: int
393LOC: Config.Timeout.mcast_icp_query
394DOC_START
395 For Multicast peers, Squid regularly sends out ICP "probes" to
396 count how many other peers are listening on the given multicast
397 address. This value specifies how long Squid should wait to
398 count all the replies. The default is 2000 msec, or 2
399 seconds.
934b03fc 400DOC_END
401
dc835977 402NAME: dead_peer_timeout
403COMMENT: (seconds)
404DEFAULT: 10 seconds
405TYPE: time_t
406LOC: Config.Timeout.deadPeer
407DOC_START
408 This controls how long Squid waits to declare a peer cache
409 as "dead." If there are no ICP replies received in this
410 amount of time, Squid will declare the peer dead and not
411 expect to receive any further ICP replies. However, it
412 continues to send ICP queries, and will mark the peer as
413 alive upon receipt of the first subsequent ICP reply.
414
a8ad9a81 415 This timeout also affects when Squid expects to receive ICP
416 replies from peers. If more than 'dead_peer' seconds have
417 passed since the last ICP reply was received, Squid will not
418 expect to receive an ICP reply on the next query. Thus, if
419 your time between requests is greater than this timeout, you
420 will see a lot of requests sent DIRECT to origin servers
421 instead of to your parents.
dc835977 422DOC_END
423
934b03fc 424
425NAME: hierarchy_stoplist
426TYPE: wordlist
f8d9f54a 427DEFAULT: none
934b03fc 428LOC: Config.hierarchy_stoplist
429DOC_START
430 A list of words which, if found in a URL, cause the object to
431 be handled directly by this cache. In other words, use this
432 to not query neighbor caches for certain objects. You may
433 list this option multiple times.
434
6b53c392 435NOCOMMENT_START
436#We recommend you to use at least the following line.
934b03fc 437hierarchy_stoplist cgi-bin ?
6b53c392 438NOCOMMENT_END
934b03fc 439DOC_END
440
441
bd05e3e3 442NAME: no_cache
443TYPE: acl_access
444DEFAULT: none
445LOC: Config.accessList.noCache
934b03fc 446DOC_START
bd05e3e3 447 A list of ACL elements which, if matched, cause the reply to
934b03fc 448 immediately removed from the cache. In other words, use this
bd05e3e3 449 to force certain objects to never be cached.
934b03fc 450
b269cf4e 451 You must use the word 'DENY' to indicate the ACL names which should
452 NOT be cached.
0fdafae7 453
6b53c392 454NOCOMMENT_START
455#We recommend you to use the following two lines.
bd05e3e3 456acl QUERY urlpath_regex cgi-bin \?
b269cf4e 457no_cache deny QUERY
6b53c392 458NOCOMMENT_END
934b03fc 459DOC_END
460
934b03fc 461
0f74202c 462COMMENT_START
3a278cb8 463 OPTIONS WHICH AFFECT THE CACHE SIZE
464 -----------------------------------------------------------------------------
0f74202c 465COMMENT_END
934b03fc 466
467NAME: cache_mem
9906e724 468COMMENT: (bytes)
1b635117 469TYPE: b_size_t
9906e724 470DEFAULT: 8 MB
43a70238 471LOC: Config.memMaxSize
934b03fc 472DOC_START
7b2496ca 473 NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS
474 SIZE. IT PLACES A LIMIT ON ONE ASPECT OF SQUID'S MEMORY
475 USAGE. SQUID USES MEMORY FOR OTHER THINGS AS WELL.
476 YOUR PROCESS WILL PROBABLY BECOME TWICE OR THREE TIMES
477 BIGGER THAN THE VALUE YOU PUT HERE
478
479 'cache_mem' specifies the ideal amount of memory to be used
480 for:
481 * In-Transit objects
482 * Hot Objects
483 * Negative-Cached objects
484
485 Data for these objects are stored in 4 KB blocks. This
486 parameter specifies the ideal upper limit on the total size of
487 4 KB blocks allocated. In-Transit objects take the highest
488 priority.
934b03fc 489
490 In-transit objects have priority over the others. When
491 additional space is needed for incoming data, negative-cached
492 and hot objects will be released. In other words, the
493 negative-cached and hot objects will fill up any unused space
494 not needed for in-transit objects.
495
7b2496ca 496 If circumstances require, this limit will be exceeded.
497 Specifically, if your incoming request rate requires more than
498 'cache_mem' of memory to hold in-transit objects, Squid will
499 exceed this limit to satisfy the new requests. When the load
500 decreases, blocks will be freed until the high-water mark is
501 reached. Thereafter, blocks will be used to store hot
502 objects.
934b03fc 503DOC_END
504
505
506NAME: cache_swap_low
507COMMENT: (percent, 0-100)
508TYPE: int
509DEFAULT: 90
510LOC: Config.Swap.lowWaterMark
511DOC_NONE
512
513NAME: cache_swap_high
514COMMENT: (percent, 0-100)
515TYPE: int
516DEFAULT: 95
517LOC: Config.Swap.highWaterMark
518DOC_START
2b906e48 519
520 The low- and high-water marks for cache object replacement.
521 Replacement begins when the swap (disk) usage is above the
522 low-water mark and attempts to maintain utilization near the
523 low-water mark. As swap utilization gets close to high-water
524 mark object eviction becomes more aggressive. If utilization is
525 close to the low-water mark less replacement is done each time.
526
527 Defaults are 90% and 95%. If you have a large cache, 5% could be
528 hundreds of MB. If this is the case you may wish to set these
529 numbers closer together.
934b03fc 530DOC_END
531
934b03fc 532NAME: maximum_object_size
9e975e4e 533COMMENT: (bytes)
1b635117 534TYPE: b_size_t
9906e724 535DEFAULT: 4096 KB
934b03fc 536LOC: Config.Store.maxObjectSize
537DOC_START
538 Objects larger than this size will NOT be saved on disk. The
cf5cc17e 539 value is specified in kilobytes, and the default is 4MB. If
540 you wish to get a high BYTES hit ratio, you should probably
541 increase this (one 32 MB object hit counts for 3200 10KB
542 hits). If you wish to increase speed more than your want to
543 save bandwidth you should leave this low.
934b03fc 544
2b906e48 545 NOTE: if using the LFUDA replacement policy you should increase
546 this value to maximize the byte hit rate improvement of LFUDA!
547 See replacement_policy below for a discussion of this policy.
934b03fc 548DOC_END
549
550
551NAME: ipcache_size
552COMMENT: (number of entries)
553TYPE: int
554DEFAULT: 1024
555LOC: Config.ipcache.size
556DOC_NONE
557
558NAME: ipcache_low
559COMMENT: (percent)
560TYPE: int
561DEFAULT: 90
562LOC: Config.ipcache.low
563DOC_NONE
564
565NAME: ipcache_high
566COMMENT: (percent)
567TYPE: int
568DEFAULT: 95
569LOC: Config.ipcache.high
570DOC_START
571 The size, low-, and high-water marks for the IP cache.
934b03fc 572DOC_END
573
e55650e3 574NAME: fqdncache_size
575COMMENT: (number of entries)
576TYPE: int
577DEFAULT: 1024
578LOC: Config.fqdncache.size
579DOC_START
580 Maximum number of FQDN cache entries.
e55650e3 581DOC_END
582
0f74202c 583COMMENT_START
3a278cb8 584 LOGFILE PATHNAMES AND CACHE DIRECTORIES
585 -----------------------------------------------------------------------------
0f74202c 586COMMENT_END
934b03fc 587
588NAME: cache_dir
589TYPE: cachedir
f1dc9b30 590DEFAULT: none
cd748f27 591DEFAULT_IF_NONE: ufs -1 @DEFAULT_SWAP_DIR@ 100 16 256
f1dc9b30 592LOC: Config.cacheSwap
934b03fc 593DOC_START
cf5cc17e 594 Usage:
595
cd748f27 596 cache_dir Type Maxobjsize Directory-Name Mbytes Level-1 Level2
934b03fc 597
598 You can specify multiple cache_dir lines to spread the
599 cache among different disk partitions.
600
efd900cb 601 Type specifies the kind of storage system to use. Most
602 everyone will want to use "ufs" as the type. If you are using
603 Async I/O (--enable async-io) on Linux or Solaris, then you may
604 want to try "asyncufs" as the type. Async IO support may be
605 buggy, however, so beware.
9bc73deb 606
cd748f27 607 Maxobjsize refers to the max object size this storedir supports.
608 It is used to initially choose the storedir to dump the object.
609 -1 means 'any size'.
610
cf5cc17e 611 'Directory' is a top-level directory where cache swap
612 files will be stored. If you want to use an entire disk
613 for caching, then this can be the mount-point directory.
614 The directory must exist and be writable by the Squid
615 process. Squid will NOT create this directory for you.
616
617 If no 'cache_dir' lines are specified, the following
618 default will be used: @DEFAULT_SWAP_DIR@.
619
620 'Mbytes' is the amount of disk space (MB) to use under this
621 directory. The default is 100 MB. Change this to suit your
622 configuration.
623
624 'Level-1' is the number of first-level subdirectories which
625 will be created under the 'Directory'. The default is 16.
626
627 'Level-2' is the number of second-level subdirectories which
628 will be created under each first-level directory. The default
629 is 256.
934b03fc 630DOC_END
631
632
633NAME: cache_access_log
634TYPE: string
d0b98f84 635DEFAULT: @DEFAULT_ACCESS_LOG@
934b03fc 636LOC: Config.Log.access
637DOC_START
638 Logs the client request activity. Contains an entry for
78a0e865 639 every HTTP and ICP queries received.
934b03fc 640DOC_END
641
642
643NAME: cache_log
644TYPE: string
0153d498 645DEFAULT: @DEFAULT_CACHE_LOG@
934b03fc 646LOC: Config.Log.log
647DOC_START
cf5cc17e 648 Cache logging file. This is where general information about
efd900cb 649 your cache's behavior goes. You can increase the amount of data
cf5cc17e 650 logged to this file with the "debug_options" tag below.
934b03fc 651DOC_END
652
653
654NAME: cache_store_log
655TYPE: string
0153d498 656DEFAULT: @DEFAULT_STORE_LOG@
934b03fc 657LOC: Config.Log.store
658DOC_START
659 Logs the activities of the storage manager. Shows which
660 objects are ejected from the cache, and which objects are
cf5cc17e 661 saved and for how long. To disable, enter "none". There are
efd900cb 662 not really utilities to analyze this data, so you can safely
cf5cc17e 663 disable it.
934b03fc 664DOC_END
665
666
667NAME: cache_swap_log
668TYPE: string
669LOC: Config.Log.swap
1273d501 670DEFAULT: none
934b03fc 671DOC_START
d0d3ec94 672 Location for the cache "swap.log." This log file holds the
934b03fc 673 metadata of objects saved on disk. It is used to rebuild the
a80e50c7 674 cache during startup. Normally this file resides in each
934b03fc 675 'cache_dir' directory, but you may specify an alternate
676 pathname here. Note you must give a full filename, not just
cf5cc17e 677 a directory. Since this is the index for the whole object
678 list you CANNOT periodically rotate it!
934b03fc 679
a80e50c7 680 If %s can be used in the file name then it will be replaced with a
681 a representation of the cache_dir name where each / is replaced
682 with '.'. This is needed to allow adding/removing cache_dir
683 lines when cache_swap_log is being used.
684
685 If have more than one 'cache_dir', and %s is not used in the name
686 then these swap logs will have names such as:
710df4ca 687
688 cache_swap_log.00
689 cache_swap_log.01
690 cache_swap_log.02
691
692 The numbered extension (which is added automatically)
693 corresponds to the order of the 'cache_dir' lines in this
694 configuration file. If you change the order of the 'cache_dir'
695 lines in this file, then these log files will NOT correspond to
696 the correct 'cache_dir' entry (unless you manually rename
697 them). We recommend that you do NOT use this option. It is
698 better to keep these log files in each 'cache_dir' directory.
934b03fc 699DOC_END
700
701
702NAME: emulate_httpd_log
703COMMENT: on|off
704TYPE: onoff
f1dc9b30 705DEFAULT: off
17a0a4ee 706LOC: Config.onoff.common_log
934b03fc 707DOC_START
708 The Cache can emulate the log file format which many 'httpd'
709 programs use. To disable/enable this emulation, set
710 emulate_httpd_log to 'off' or 'on'. The default
cf5cc17e 711 is to use the native log format since it includes useful
efd900cb 712 information that Squid-specific log analyzers use.
934b03fc 713DOC_END
714
890b0fa8 715NAME: log_ip_on_direct
716COMMENT: on|off
717TYPE: onoff
718DEFAULT: on
719LOC: Config.onoff.log_ip_on_direct
720DOC_START
721 Log the destination IP address in the hierarchy log tag when going
722 direct. Earlier Squid versions logged the hostname here. If you
723 prefer the old way set this to off.
890b0fa8 724DOC_END
934b03fc 725
726NAME: mime_table
f0b19334 727TYPE: string
0153d498 728DEFAULT: @DEFAULT_MIME_TABLE@
934b03fc 729LOC: Config.mimeTablePathname
730DOC_START
cf5cc17e 731 Pathname to Squid's MIME table. You shouldn't need to change
732 this, but the default file contains examples and formatting
733 information if you do.
934b03fc 734DOC_END
735
736
737NAME: log_mime_hdrs
738COMMENT: on|off
739TYPE: onoff
17a0a4ee 740LOC: Config.onoff.log_mime_hdrs
f1dc9b30 741DEFAULT: off
934b03fc 742DOC_START
cf5cc17e 743 The Cache can record both the request and the response MIME
744 headers for each HTTP transaction. The headers are encoded
745 safely and will appear as two bracketed fields at the end of
746 the access log (for either the native or httpd-emulated log
747 formats). To enable this logging set log_mime_hdrs to 'on'.
934b03fc 748DOC_END
749
750
751NAME: useragent_log
752TYPE: string
753LOC: Config.Log.useragent
f1dc9b30 754DEFAULT: none
6b53c392 755IFDEF: USE_USERAGENT_LOG
934b03fc 756DOC_START
6b53c392 757 Squid will write the User-Agent field from HTTP requests
758 to the filename specified here. By default useragent_log
759 is disabled.
934b03fc 760DOC_END
761
762
763NAME: pid_filename
764TYPE: string
0153d498 765DEFAULT: @DEFAULT_PID_FILE@
934b03fc 766LOC: Config.pidFilename
767DOC_START
d0d41f07 768 A filename to write the process-id to. To disable, enter "none".
934b03fc 769DOC_END
770
771
772NAME: debug_options
f1dc9b30 773TYPE: eol
934b03fc 774DEFAULT: ALL,1
775LOC: Config.debugOptions
776DOC_START
777 Logging options are set as section,level where each source file
778 is assigned a unique section. Lower levels result in less
779 output, Full debugging (level 9) can result in a very large
780 log file, so be careful. The magic word "ALL" sets debugging
781 levels for all sections. We recommend normally running with
782 "ALL,1".
934b03fc 783DOC_END
784
785
934b03fc 786NAME: log_fqdn
787COMMENT: on|off
788TYPE: onoff
f1dc9b30 789DEFAULT: off
17a0a4ee 790LOC: Config.onoff.log_fqdn
934b03fc 791DOC_START
792 Turn this on if you wish to log fully qualified domain names
cf5cc17e 793 in the access.log. To do this Squid does a DNS lookup of all
794 IP's connecting to it. This can (in some situations) increase
795 latency, which makes your cache seem slower for interactive
796 browsing.
934b03fc 797DOC_END
798
799
800NAME: client_netmask
801TYPE: address
802LOC: Config.Addrs.client_netmask
f1dc9b30 803DEFAULT: 255.255.255.255
934b03fc 804DOC_START
805 A netmask for client addresses in logfiles and cachemgr output.
806 Change this to protect the privacy of your cache clients.
cf5cc17e 807 A netmask of 255.255.255.0 will log all IP's in that range with
808 the last digit set to '0'.
934b03fc 809DOC_END
810
811
0f74202c 812COMMENT_START
3a278cb8 813 OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
814 -----------------------------------------------------------------------------
0f74202c 815COMMENT_END
934b03fc 816
934b03fc 817NAME: ftp_user
818TYPE: string
cf5cc17e 819DEFAULT: Squid@
934b03fc 820LOC: Config.Ftp.anon_user
821DOC_START
822 If you want the anonymous login password to be more informative
823 (and enable the use of picky ftp servers), set this to something
efd900cb 824 reasonable for your domain, like wwwuser@somewhere.net
934b03fc 825
826 The reason why this is domainless by default is that the
827 request can be made on the behalf of a user in any domain,
828 depending on how the cache is used.
829 Some ftp server also validate that the email address is valid
830 (for example perl.com).
934b03fc 831DOC_END
832
365cb147 833NAME: ftp_list_width
1b635117 834TYPE: size_t
365cb147 835DEFAULT: 32
836LOC: Config.Ftp.list_width
837DOC_START
cf5cc17e 838 Sets the width of ftp listings. This should be set to fit in
839 the width of a standard browser. Setting this too small
840 can cut off long filenames when browsing ftp sites.
365cb147 841DOC_END
842
934b03fc 843NAME: cache_dns_program
f0b19334 844TYPE: string
589c90de 845IFDEF: USE_DNSSERVERS
0153d498 846DEFAULT: @DEFAULT_DNSSERVER@
934b03fc 847LOC: Config.Program.dnsserver
848DOC_START
849 Specify the location of the executable for dnslookup process.
934b03fc 850DOC_END
851
934b03fc 852NAME: dns_children
853TYPE: int
6b53c392 854IFDEF: USE_DNSSERVERS
934b03fc 855DEFAULT: 5
856LOC: Config.dnsChildren
857DOC_START
858 The number of processes spawn to service DNS name lookups.
859 For heavily loaded caches on large servers, you should
860 probably increase this value to at least 10. The maximum
861 is 32. The default is 5.
862
efd900cb 863 You must have at least one dnsserver process.
934b03fc 864DOC_END
865
4fe0e1d0 866NAME: dns_retransmit_interval
867TYPE: time_t
868DEFAULT: 5 seconds
869LOC: Config.Timeout.idns_retransmit
870IFDEF: !USE_DNSSERVERS
871DOC_START
872 Initial retransmit interval for DNS queries. The interval is
873 doubled each time all configured DNS servers have been tried.
874
875DOC_END
876
877NAME: dns_timeout
878TYPE: time_t
879DEFAULT: 5 minutes
880LOC: Config.Timeout.idns_query
881IFDEF: !USE_DNSSERVERS
882DOC_START
883 DNS Query timeout. If no response is received to a DNS query
884 within this time then all DNS servers for the queried domain
885 is assumed to be unavailable.
886DOC_END
934b03fc 887
888NAME: dns_defnames
889COMMENT: on|off
589c90de 890IFDEF: USE_DNSSERVERS
934b03fc 891TYPE: onoff
f1dc9b30 892DEFAULT: off
17a0a4ee 893LOC: Config.onoff.res_defnames
6b53c392 894IFDEF: USE_DNSSERVERS
934b03fc 895DOC_START
896 Normally the 'dnsserver' disables the RES_DEFNAMES resolver
897 option (see res_init(3)). This prevents caches in a hierarchy
898 from interpreting single-component hostnames locally. To allow
899 dnsserver to handle single-component names, enable this
900 option.
934b03fc 901DOC_END
902
09c483ec 903NAME: dns_nameservers
904TYPE: wordlist
905DEFAULT: none
906LOC: Config.dns_nameservers
907DOC_START
908 Use this if you want to specify a list of DNS name servers
909 (IP addresses) to use instead of those given in your
910 /etc/resolv.conf file.
911
912 Example: dns_nameservers 10.0.0.1 192.172.0.4
09c483ec 913DOC_END
914
934b03fc 915
916NAME: unlinkd_program
f0b19334 917TYPE: string
0153d498 918DEFAULT: @DEFAULT_UNLINKD@
934b03fc 919LOC: Config.Program.unlinkd
920DOC_START
921 Specify the location of the executable for file deletion process.
934b03fc 922DOC_END
923
934b03fc 924NAME: pinger_program
a95856a0 925TYPE: string
0153d498 926DEFAULT: @DEFAULT_PINGER@
934b03fc 927LOC: Config.Program.pinger
6b53c392 928IFDEF: USE_ICMP
934b03fc 929DOC_START
930 Specify the location of the executable for the pinger process.
934b03fc 931DOC_END
932
933
934NAME: redirect_program
c6d5b87b 935TYPE: wordlist
934b03fc 936LOC: Config.Program.redirect
62607543 937DEFAULT: none
934b03fc 938DOC_START
939 Specify the location of the executable for the URL redirector.
cf5cc17e 940 Since they can perform almost any function there isn't one included.
941 See the Release-Notes for information on how to write one.
942 By default, a redirector is not used.
934b03fc 943DOC_END
944
945
946NAME: redirect_children
947TYPE: int
948DEFAULT: 5
949LOC: Config.redirectChildren
950DOC_START
cf5cc17e 951 The number of redirector processes to spawn. If you start
952 too few Squid will have to wait for them to process a backlog of
953 URLs, slowing it down. If you start too many they will use RAM
954 and other system resources.
934b03fc 955DOC_END
956
c68e9c6b 957NAME: redirect_rewrites_host_header
958TYPE: onoff
959DEFAULT: on
960LOC: Config.onoff.redir_rewrites_host
961DOC_START
7e3ce7b9 962 By default Squid rewrites any Host: header in redirected
963 requests. If you are running a accelerator then this may
964 not be a wanted effect of a redirector.
c68e9c6b 965DOC_END
966
9bc73deb 967NAME: redirector_access
968TYPE: acl_access
969DEFAULT: none
970LOC: Config.accessList.redirector
971DOC_START
972 If defined, this access list specifies which requests are
973 sent to the redirector processes. By default all requests
974 are sent.
975DOC_END
976
c68e9c6b 977
73e67ee0 978NAME: authenticate_program
6c20b822 979TYPE: wordlist
73e67ee0 980LOC: Config.Program.authenticate
981DEFAULT: none
982DOC_START
6c20b822 983 Specify the command for the external authenticator. Such a
984 program reads a line containing "username password" and replies
985 "OK" or "ERR" in an endless loop. If you use an authenticator,
986 make sure you have 1 acl of type proxy_auth. By default, the
987 authenticator_program is not used.
73e67ee0 988
6c20b822 989 If you want to use the traditional proxy authentication,
990 jump over to the ../auth_modules/NCSA directory and
991 type:
992 % make
993 % make install
73e67ee0 994
6c20b822 995 Then, set this line to something like
73e67ee0 996
6c20b822 997 authenticate_program @DEFAULT_PREFIX@/bin/ncsa_auth @DEFAULT_PREFIX@/etc/passwd
73e67ee0 998DOC_END
999
73e67ee0 1000NAME: authenticate_children
1001TYPE: int
1002DEFAULT: 5
1003LOC: Config.authenticateChildren
1004DOC_START
1005 The number of authenticator processes to spawn (default 5). If you
1006 start too few Squid will have to wait for them to process a backlog
1007 of usercode/password verifications, slowing it down. When password
1008 verifications are done via a (slow) network you are likely to need
1009 lots of authenticator processes.
73e67ee0 1010DOC_END
1011
c68e9c6b 1012NAME: authenticate_ttl
70a76033 1013TYPE: time_t
1014DEFAULT: 1 hour
c68e9c6b 1015LOC: Config.authenticateTTL
1016DOC_START
70a76033 1017 The time a checked username/password combination remains cached.
1018 If a wrong password is given for a cached user, the user gets
1019 removed from the username/password cache forcing a revalidation.
c68e9c6b 1020DOC_END
1021
9bc73deb 1022NAME: authenticate_ip_ttl
70a76033 1023TYPE: time_t
9bc73deb 1024LOC: Config.authenticateIpTTL
70a76033 1025DEFAULT: 0 seconds
9bc73deb 1026DOC_START
1027 With this option you control how long a proxy authentication
1028 will be bound to a specific IP address. If a request using
1029 the same user name is received during this time then access
1030 will be denied and both users are required to reauthenticate
1031 them selves. The idea behind this is to make it annoying
1032 for people to share their password to their friends, but
1033 yet allow a dialup user to reconnect on a different dialup
1034 port.
1035
1036 The default is 0 to disable the check. Recommended value
70a76033 1037 if you have dialup users are no more than 60 seconds to allow
1038 the user to redial without hassle. If all your users are
1039 stationary then higher values may be used.
1040
1041 See also authenticate_ip_ttl_is_strict
1042DOC_END
1043
1044NAME: authenticate_ip_ttl_is_strict
1045TYPE: onoff
1046LOC: Config.onoff.authenticateIpTTLStrict
1047DEFAULT: on
1048DOC_START
1049 This option makes authenticate_ip_ttl a bit stricted. With this
1050 enabled authenticate_ip_ttl will deny all access from other IP
1051 addresses until the TTL has expired, and the IP address "owning"
1052 the userid will not be forced to reauthenticate.
9bc73deb 1053DOC_END
1054
0f74202c 1055COMMENT_START
3a278cb8 1056 OPTIONS FOR TUNING THE CACHE
1057 -----------------------------------------------------------------------------
0f74202c 1058COMMENT_END
934b03fc 1059
0153d498 1060NAME: wais_relay_host
1061TYPE: string
1273d501 1062DEFAULT: none
0153d498 1063LOC: Config.Wais.relayHost
1064DOC_NONE
934b03fc 1065
0153d498 1066NAME: wais_relay_port
1067TYPE: ushort
1068DEFAULT: 0
1069LOC: Config.Wais.relayPort
934b03fc 1070DOC_START
1071 Relay WAIS request to host (1st arg) at port (2 arg).
934b03fc 1072DOC_END
1073
1074
0483b991 1075NAME: request_header_max_size
1076COMMENT: (KB)
1077TYPE: b_size_t
1078DEFAULT: 10 KB
1079LOC: Config.maxRequestHeaderSize
1080DOC_START
1081 This specifies the maximum size for HTTP headers in a request.
1082 Request headers are usually relatively small (about 512 bytes).
1083 Placing a limit on the request header size will catch certain
1084 bugs (for example with persistent connections) and possibly
1085 buffer-overflow or denial-of-service attacks.
0483b991 1086DOC_END
1087
1088NAME: request_body_max_size
9906e724 1089COMMENT: (KB)
518da0bd 1090TYPE: b_size_t
1f38f50a 1091DEFAULT: 1 MB
0483b991 1092LOC: Config.maxRequestBodySize
934b03fc 1093DOC_START
0483b991 1094 This specifies the maximum size for an HTTP request body.
1095 In other words, the maximum size of a PUT/POST request.
1096 A user who attempts to send a request with a body larger
1097 than this limit receives an "Invalid Request" error message.
1098 If you set this parameter to a zero, there will be no limit
1099 imposed.
0483b991 1100DOC_END
934b03fc 1101
0483b991 1102NAME: reply_body_max_size
1103COMMENT: (KB)
1104TYPE: b_size_t
1105DEFAULT: 0
1106LOC: Config.maxReplyBodySize
1107DOC_START
efd900cb 1108 This option specifies the maximum size of a reply body. It
1109 can be used to prevent users from downloading very large files,
1110 such as MP3's and movies. The reply size is checked twice.
1111 First when we get the reply headers, we check the
1112 content-length value. If the content length value exists and
1113 is larger than this parameter, the request is denied and the
1114 user receives an error message that says "the request or reply
1115 is too large." If there is no content-length, and the reply
1116 size exceeds this limit, the client's connection is just closed
1117 and they will receive a partial reply.
1118
1119 NOTE: downstream caches probably can not detect a partial reply
1120 if there is no content-length header, so they will cache
1121 partial responses and give them out as hits. You should NOT
1122 use this option if you have downstream caches.
1123
1124 If you set this parameter to zero (the default), there will be
1125 no limit imposed.
934b03fc 1126DOC_END
1127
1128
1129NAME: refresh_pattern
934b03fc 1130TYPE: refreshpattern
f1dc9b30 1131LOC: Config.Refresh
1273d501 1132DEFAULT: none
6b53c392 1133DEFAULT_IF_NONE: ^ftp: 1440 20% 10080
1134DEFAULT_IF_NONE: ^gopher: 1440 0% 1440
1135DEFAULT_IF_NONE: . 0 20% 4320
934b03fc 1136DOC_START
7ddc902f 1137 usage: refresh_pattern [-i] regex min percent max [options]
1138
1139 By default, regular expressions are CASE-SENSITIVE. To make
1140 them case-insensitive, use the -i option.
934b03fc 1141
7e3ce7b9 1142 'Min' is the time (in minutes) an object without an explicit
1143 expiry time should be considered fresh. The recommended
1144 value is 0, any higher values may cause dynamic applications
efd900cb 1145 to be erroneously cached unless the application designer
7e3ce7b9 1146 has taken the appropriate actions.
1147
1148 'Percent' is a percentage of the objects age (time since last
efd900cb 1149 modification age) an object without explicit expiry time
7e3ce7b9 1150 will be considered fresh.
1151
1152 'Max' is an upper limit on how long objects without an explicit
1153 expiry time will be considered fresh.
934b03fc 1154
7e3ce7b9 1155 options: overrsde-expire
1dfa1d81 1156 override-lastmod
cbe3a719 1157 reload-into-ims
1158 ignore-reload
1dfa1d81 1159
1160 override-expire enforces min age even if the server
cbe3a719 1161 sent a Expires: header. Doing this VIOLATES the HTTP
1162 standard. Enabling this feature could make you liable
1163 for problems which it causes.
1dfa1d81 1164
1165 override-lastmod enforces min age even on objects
1166 that was modified recently.
cbe3a719 1167
1168 reload-into-ims changes client no-cache or ``reload''
1169 to If-Modified-Since requests. Doing this VIOLATES the
1170 HTTP standard. Enabling this feature could make you
1171 liable for problems which it causes.
1172
1173 ignore-reload ignores a client no-cache or ``reload''
1174 header. Doing this VIOLATES the HTTP standard. Enabling
1175 this feature could make you liable for problems which
1176 it causes.
1dfa1d81 1177
934b03fc 1178 Please see the file doc/Release-Notes-1.1.txt for a full
1179 description of Squid's refresh algorithm. Basically a
1dfa1d81 1180 cached object is: (the order is changed from 1.1.X)
934b03fc 1181
1dfa1d81 1182 FRESH if expires < now, else STALE
6b8e7481 1183 STALE if age > max
1dfa1d81 1184 FRESH if lm-factor < percent, else STALE
1185 FRESH if age < min
1186 else STALE
934b03fc 1187
1188 The refresh_pattern lines are checked in the order listed here.
1189 The first entry which matches is used. If none of the entries
1190 match, then the default will be used.
1191
6b53c392 1192 Note, you must uncomment all the default lines if you want
1193 to change one. The default setting is only active if none is
1194 used.
934b03fc 1195DOC_END
1196
1197
2b906e48 1198NAME: replacement_policy
1199TYPE: string
1200LOC: Config.replPolicy
1201DEFAULT: LFUDA
1202IFDEF: HEAP_REPLACEMENT
1203DOC_START
1204 The cache replacement policy parameter determines which
1205 objects are evicted (replaced) when disk space is needed.
1206 Squid used to have only a single replacement policy, LRU.
1207 But when built with -DHEAP_REPLACEMENT you can choose
1208 between two new, enhanced policies:
1209
1210 GDSF: Greedy-Dual Size Frequency
1211 LFUDA: Least Frequently Used with Dynamic Aging
1212
1213 Both of these policies are frequency based rather than recency
1214 based, and perform better than LRU.
1215
1216 The GDSF policy optimizes object hit rate by keeping smaller
1217 popular objects in cache so it has a better chance of getting a
1218 hit. It achieves a lower byte hit rate than LFUDA though since
1219 it evicts larger (possibly popular) objects.
1220
1221 The LFUDA policy keeps popular objects in cache regardless of
1222 their size and thus optimizes byte hit rate at the expense of
1223 hit rate since one large, popular object will prevent many
1224 smaller, slightly less popular objects from being cached.
1225
1226 Both policies utilize a dynamic aging mechanism that prevents
1227 cache pollution that can otherwise occur with frequency-based
1228 replacement policies.
1229
1230 NOTE: if using the LFUDA replacement policy you should increase
1231 the value of maximum_object_size above its default of 4096 KB to
1232 to maximize the potential byte hit rate improvement of LFUDA.
1233
1234 For more information about these cache replacement policies see
efd900cb 1235 http://www.hpl.hp.com/techreports/1999/HPL-1999-69.html and
2b906e48 1236 http://fog.hpl.external.hp.com/techreports/98/HPL-98-173.html.
2b906e48 1237DOC_END
1238
1239
934b03fc 1240NAME: reference_age
f1dc9b30 1241TYPE: time_t
934b03fc 1242LOC: Config.referenceAge
f1dc9b30 1243DEFAULT: 1 year
934b03fc 1244DOC_START
1245 As a part of normal operation, Squid performs Least Recently
1246 Used removal of cached objects. The LRU age for removal is
1247 computed dynamically, based on the amount of disk space in
6778c757 1248 use. The dynamic value can be seen in the Cache Manager 'info'
1249 output.
1250
1251 The 'reference_age' parameter defines the maximum LRU age. For
1252 example, setting reference_age to '1 week' will cause objects
1253 to be removed if they have not been accessed for a week or
7e3ce7b9 1254 more. The default value is one year.
934b03fc 1255
1256 Specify a number here, followed by units of time. For example:
1257 1 week
1258 3.5 days
1259 4 months
1260 2.2 hours
1261
2b906e48 1262 NOTE: this parameter is not used when using the enhanced
1263 replacement policies, GDSH or LFUDA.
934b03fc 1264DOC_END
1265
1266
0153d498 1267NAME: quick_abort_min
9906e724 1268COMMENT: (KB)
1269TYPE: kb_size_t
c68e9c6b 1270DEFAULT: 16 KB
0153d498 1271LOC: Config.quickAbort.min
1272DOC_NONE
1273
0153d498 1274NAME: quick_abort_max
9906e724 1275COMMENT: (KB)
1276TYPE: kb_size_t
6b53c392 1277DEFAULT: 16 KB
0153d498 1278LOC: Config.quickAbort.max
1b2f5c2f 1279DOC_NONE
1280
1281NAME: quick_abort_pct
1282COMMENT: (percent)
1283TYPE: int
c68e9c6b 1284DEFAULT: 95
1b2f5c2f 1285LOC: Config.quickAbort.pct
934b03fc 1286DOC_START
cf5cc17e 1287 The cache can be configured to continue downloading aborted
1288 requests. This may be undesirable on slow (e.g. SLIP) links
1289 and/or very busy caches. Impatient users may tie up file
1290 descriptors and bandwidth by repeatedly requesting and
1291 immediately aborting downloads.
934b03fc 1292
1293 When the user aborts a request, Squid will check the
1294 quick_abort values to the amount of data transfered until
1295 then.
1296
cf5cc17e 1297 If the transfer has less than 'quick_abort_min' KB remaining,
1298 it will finish the retrieval. Setting 'quick_abort_min' to -1
1299 will disable the quick_abort feature.
934b03fc 1300
cf5cc17e 1301 If the transfer has more than 'quick_abort_max' KB remaining,
1302 it will abort the retrieval.
934b03fc 1303
1b2f5c2f 1304 If more than 'quick_abort_pct' of the transfer has completed,
1305 it will finish the retrieval.
934b03fc 1306DOC_END
1307
1308
1309NAME: negative_ttl
bc0eb004 1310COMMENT: time-units
f1dc9b30 1311TYPE: time_t
934b03fc 1312LOC: Config.negativeTtl
9e975e4e 1313DEFAULT: 5 minutes
934b03fc 1314DOC_START
1315 Time-to-Live (TTL) for failed requests. Certain types of
1316 failures (such as "connection refused" and "404 Not Found") are
cf5cc17e 1317 negatively-cached for a configurable amount of time. The
1318 default is 5 minutes. Note that this is different from
1319 negative caching of DNS lookups.
934b03fc 1320DOC_END
1321
1322
1323NAME: positive_dns_ttl
bc0eb004 1324COMMENT: time-units
f1dc9b30 1325TYPE: time_t
934b03fc 1326LOC: Config.positiveDnsTtl
9e975e4e 1327DEFAULT: 6 hours
934b03fc 1328DOC_START
1329 Time-to-Live (TTL) for positive caching of successful DNS lookups.
1330 Default is 6 hours (360 minutes). If you want to minimize the
1331 use of Squid's ipcache, set this to 1, not 0.
934b03fc 1332DOC_END
1333
1334
1335NAME: negative_dns_ttl
bc0eb004 1336COMMENT: time-units
f1dc9b30 1337TYPE: time_t
934b03fc 1338LOC: Config.negativeDnsTtl
9e975e4e 1339DEFAULT: 5 minutes
934b03fc 1340DOC_START
1341 Time-to-Live (TTL) for negative caching of failed DNS lookups.
934b03fc 1342DOC_END
1343
c68e9c6b 1344NAME: range_offset_limit
1345COMMENT: (bytes)
1346TYPE: b_size_t
1347LOC: Config.rangeOffsetLimit
1348DEFAULT: 0 KB
1349DOC_START
1350 Sets a upper limit on how far into the the file a Range request
1351 may be to cause Squid to prefetch the whole file. If beyond this
1352 limit then Squid forwards the Range request as it is and the result
1353 is NOT cached.
1354
1355 This is to stop a far ahead range request (lets say start at 17MB)
1356 from making Squid fetch the whole object up to that point before
1357 sending anything to the client.
1358
1359 A value of -1 causes Squid to always fetch the object from the
1360 beginning so that it may cache the result. (2.0 style)
1361
1362 A value of 0 causes Squid to never fetch more than the client
1363 client requested. (default)
c68e9c6b 1364DOC_END
1365
1366
0f74202c 1367COMMENT_START
3a278cb8 1368 TIMEOUTS
1369 -----------------------------------------------------------------------------
0f74202c 1370COMMENT_END
934b03fc 1371
1372NAME: connect_timeout
bc0eb004 1373COMMENT: time-units
f1dc9b30 1374TYPE: time_t
934b03fc 1375LOC: Config.Timeout.connect
9e975e4e 1376DEFAULT: 2 minutes
934b03fc 1377DOC_START
1378 Some systems (notably Linux) can not be relied upon to properly
cf5cc17e 1379 time out connect(2) requests. Therefore the Squid process
934b03fc 1380 enforces its own timeout on server connections. This parameter
1381 specifies how long to wait for the connect to complete. The
1382 default is two minutes (120 seconds).
934b03fc 1383DOC_END
1384
3f62decd 1385NAME: peer_connect_timeout
1386COMMENT: time-units
1387TYPE: time_t
1388LOC: Config.Timeout.peer_connect
1389DEFAULT: 30 seconds
1390DOC_START
1391 This parameter specifies how long to wait for a pending TCP
1392 connection to a peer cache. The default is 30 seconds. You
1393 may also set different timeout values for individual neighbors
1394 with the 'connect-timeout' option on a 'cache_peer' line.
9bc73deb 1395DOC_END
3f62decd 1396
23d92c64 1397NAME: siteselect_timeout
1398COMMENT: time-units
1399TYPE: time_t
1400LOC: Config.Timeout.siteSelect
1401DEFAULT: 4 seconds
1402DOC_START
1403 For URN to multiple URL's URL selection
23d92c64 1404DOC_END
934b03fc 1405
1406NAME: read_timeout
bc0eb004 1407COMMENT: time-units
f1dc9b30 1408TYPE: time_t
934b03fc 1409LOC: Config.Timeout.read
9e975e4e 1410DEFAULT: 15 minutes
934b03fc 1411DOC_START
1412 The read_timeout is applied on server-side connections. After
1413 each successful read(), the timeout will be extended by this
1414 amount. If no data is read again after this amount of time,
1415 the request is aborted and logged with ERR_READ_TIMEOUT. The
1416 default is 15 minutes.
934b03fc 1417DOC_END
1418
1419
934b03fc 1420NAME: request_timeout
f1dc9b30 1421TYPE: time_t
934b03fc 1422LOC: Config.Timeout.request
9e975e4e 1423DEFAULT: 30 seconds
934b03fc 1424DOC_START
1425 How long to wait for an HTTP request after connection
1426 establishment. For persistent connections, wait this long
1427 after the previous request completes.
934b03fc 1428DOC_END
1429
1430
1431NAME: client_lifetime
bc0eb004 1432COMMENT: time-units
f1dc9b30 1433TYPE: time_t
934b03fc 1434LOC: Config.Timeout.lifetime
9e975e4e 1435DEFAULT: 1 day
934b03fc 1436DOC_START
1437 The maximum amount of time that a client (browser) is allowed to
1438 remain connected to the cache process. This protects the Cache
efd900cb 1439 from having a lot of sockets (and hence file descriptors) tied up
934b03fc 1440 in a CLOSE_WAIT state from remote clients that go away without
1441 properly shutting down (either because of a network failure or
1442 because of a poor client implementation). The default is one
1443 day, 1440 minutes.
1444
1445 NOTE: The default value is intended to be much larger than any
1446 client would ever need to be connected to your cache. You
1447 should probably change client_lifetime only as a last resort.
1448 If you seem to have many client connections tying up
1449 filedescriptors, we recommend first tuning the read_timeout,
0fbcf3c7 1450 request_timeout, pconn_timeout and quick_abort values.
934b03fc 1451DOC_END
1452
ea285003 1453NAME: half_closed_clients
1454TYPE: onoff
1455LOC: Config.onoff.half_closed_clients
1456DEFAULT: on
1457DOC_START
1458 Some clients may shutdown the sending side of their TCP
1459 connections, while leaving their receiving sides open. Sometimes,
1460 Squid can not tell the difference between a half-closed and a
1461 fully-closed TCP connection. By default, half-closed client
1462 connections are kept open until a read(2) or write(2) on the
1463 socket returns an error. Change this option to 'off' and Squid
1464 will immediately close client connections when read(2) returns
1465 "no more data to read."
ea285003 1466DOC_END
1467
603a02fd 1468NAME: pconn_timeout
1469TYPE: time_t
1470LOC: Config.Timeout.pconn
1471DEFAULT: 120 seconds
1472DOC_START
1473 Timeout for idle persistent connections to servers and other
1474 proxies.
603a02fd 1475DOC_END
1476
05832ae1 1477NAME: ident_timeout
1478TYPE: time_t
3898f57f 1479IFDEF: USE_IDENT
05832ae1 1480LOC: Config.Timeout.ident
1481DEFAULT: 10 seconds
1482DOC_START
1483 Maximum time to wait for IDENT requests. If this is too high,
1484 and you enabled 'ident_lookup', then you might be susceptible
1485 to denial-of-service by having many ident requests going at
1486 once.
6b8e7481 1487
9bc73deb 1488 Only src type ACL checks are fully supported. A src_domain
1489 ACL might work at times, but it will not always provide
1490 the correct result.
1491
6b8e7481 1492 This option may be disabled by using --disable-ident with
1493 the configure script.
05832ae1 1494DOC_END
1495
934b03fc 1496
1497NAME: shutdown_lifetime
bc0eb004 1498COMMENT: time-units
f1dc9b30 1499TYPE: time_t
934b03fc 1500LOC: Config.shutdownLifetime
9e975e4e 1501DEFAULT: 30 seconds
934b03fc 1502DOC_START
1503 When SIGTERM or SIGHUP is received, the cache is put into
1504 "shutdown pending" mode until all active sockets are closed.
1505 This value is the lifetime to set for all open descriptors
1506 during shutdown mode. Any active clients after this many
1507 seconds will receive a 'timeout' message.
934b03fc 1508DOC_END
1509
0f74202c 1510COMMENT_START
3a278cb8 1511 ACCESS CONTROLS
1512 -----------------------------------------------------------------------------
0f74202c 1513COMMENT_END
934b03fc 1514
1515NAME: acl
1516TYPE: acl
f1dc9b30 1517LOC: Config.aclList
1518DEFAULT: none
934b03fc 1519DOC_START
1520 Defining an Access List
1521
1522 acl aclname acltype string1 ...
1523 acl aclname acltype "file" ...
1524
1525 when using "file", the file should contain one item per line
1526
1527 acltype is one of src dst srcdomain dstdomain url_pattern
1528 urlpath_pattern time port proto method browser user
1529
edd80fbb 1530 By default, regular expressions are CASE-SENSITIVE. To make
1531 them case-insensitive, use the -i option.
1532
934b03fc 1533 acl aclname src ip-address/netmask ... (clients IP address)
1534 acl aclname src addr1-addr2/netmask ... (range of addresses)
1535 acl aclname dst ip-address/netmask ... (URL host's IP address)
ae2c08a2 1536 acl aclname myip ip-address/netmask ... (local socket IP address)
d0d41f07 1537
efd900cb 1538 acl aclname srcdomain .foo.com ... # reverse lookup, client IP
1539 acl aclname dstdomain .foo.com ... # Destination server from URL
edd80fbb 1540 acl aclname srcdom_regex [-i] xxx ... # regex matching client name
1541 acl aclname dstdom_regex [-i] xxx ... # regex matching server
d0d41f07 1542 # For dstdomain and dstdom_regex a reverse lookup is tried if a IP
1543 # based URL is used. The name "none" is used if the reverse lookup
1544 # fails.
1545
934b03fc 1546 acl aclname time [day-abbrevs] [h1:m1-h2:m2]
1547 day-abbrevs:
1548 S - Sunday
1549 M - Monday
1550 T - Tuesday
1551 W - Wednesday
1552 H - Thursday
1553 F - Friday
1554 A - Saturday
1555 h1:m1 must be less than h2:m2
edd80fbb 1556 acl aclname url_regex [-i] ^http:// ... # regex matching on whole URL
1557 acl aclname urlpath_regex [-i] \.gif$ ... # regex matching on URL path
934b03fc 1558 acl aclname port 80 70 21 ...
ec5bba4d 1559 acl aclname port 0-1024 ... # ranges allowed
7e3ce7b9 1560 acl aclname myport 3128 ... # (local socket TCP port)
934b03fc 1561 acl aclname proto HTTP FTP ...
1562 acl aclname method GET POST ...
edd80fbb 1563 acl aclname browser [-i] regexp
1564 # pattern match on User-Agent header
c68e9c6b 1565 acl aclname ident username ...
145cf928 1566 acl aclname ident_regex [-i] pattern ...
c68e9c6b 1567 # string match on ident output.
1568 # use REQUIRED to accept any non-null ident.
6468fe10 1569 acl aclname src_as number ...
1570 acl aclname dst_as number ...
1571 # Except for access control, AS numbers can be used for
1572 # routing of requests to specific caches. Here's an
1573 # example for routing all requests for AS#1241 and only
1574 # those to mycache.mydomain.net:
1575 # acl asexample dst_as 1241
d87ebd78 1576 # cache_peer_access mycache.mydomain.net allow asexample
1577 # cache_peer_access mycache_mydomain.net deny all
6468fe10 1578
c68e9c6b 1579 acl aclname proxy_auth username ...
145cf928 1580 acl aclname proxy_auth_regex [-i] pattern ...
c68e9c6b 1581 # list of valid usernames
1582 # use REQUIRED to accept any valid username.
73e67ee0 1583 #
1584 # NOTE: when a Proxy-Authentication header is sent but it is not
1585 # needed during ACL checking the username is NOT logged
1586 # in access.log.
c68e9c6b 1587 #
1588 # NOTE: proxy_auth requires a EXTERNAL authentication program
1589 # to check username/password combinations (see
1590 # authenticate_program).
1591 #
1592 # WARNING: proxy_auth can't be used in a transparent proxy. It
1593 # collides with any authentication done by origin servers. It may
1594 # seem like it works at first, but it doesn't.
934b03fc 1595
dba79ac5 1596 acl aclname snmp_community string ...
08f6b5e0 1597 # A community string to limit access to your SNMP Agent
dba79ac5 1598 # Example:
1599 #
1600 # acl snmppublic snmp_community public
1601
9bc73deb 1602 acl aclname maxconn number
1603 # This will be matched when the client's IP address has
1604 # more than <number> HTTP connections established.
1605
ba2b31a8 1606 acl req_mime_type mime-type1 ...
1607 # regex match agains the mime type of the request generated
1608 # by the client. Can be used to detect file upload or some
1609 # types HTTP tunelling requests.
1610 # NOTE: This does NOT match the reply. You cannot use this
1611 # to match the returned file type.
c68e9c6b 1612
1613Examples:
1614acl myexample dst_as 1241
aa6956a5 1615acl password proxy_auth REQUIRED
ba2b31a8 1616acl fileupload req_mime_type -i ^multipart/form-data$
c68e9c6b 1617
c68e9c6b 1618NOCOMMENT_START
6b53c392 1619#Recommended minimum configuration:
c68e9c6b 1620acl all src 0.0.0.0/0.0.0.0
934b03fc 1621acl manager proto cache_object
1622acl localhost src 127.0.0.1/255.255.255.255
934b03fc 1623acl SSL_ports port 443 563
6b53c392 1624acl Safe_ports port 80 # http
1625acl Safe_ports port 21 # ftp
1626acl Safe_ports port 443 563 # https, snews
1627acl Safe_ports port 70 # gopher
1628acl Safe_ports port 210 # wais
1629acl Safe_ports port 1025-65535 # unregistered ports
9bc73deb 1630acl Safe_ports port 280 # http-mgmt
1631acl Safe_ports port 488 # gss-http
1632acl Safe_ports port 591 # filemaker
1633acl Safe_ports port 777 # multiling http
934b03fc 1634acl CONNECT method CONNECT
c68e9c6b 1635NOCOMMENT_END
934b03fc 1636DOC_END
1637
1638NAME: http_access
1639TYPE: acl_access
f1dc9b30 1640LOC: Config.accessList.http
1641DEFAULT: none
da7f354f 1642DEFAULT_IF_NONE: deny all
934b03fc 1643DOC_START
1644 Allowing or Denying access based on defined access lists
1645
1646 Access to the HTTP port:
1647 http_access allow|deny [!]aclname ...
1648
934b03fc 1649 NOTE on default values:
1650
6b53c392 1651 If there are no "access" lines present, the default is to deny
934b03fc 1652 the request.
1653
1654 If none of the "access" lines cause a match, the default is the
1655 opposite of the last line in the list. If the last line was
1656 deny, then the default is allow. Conversely, if the last line
1657 is allow, the default will be deny. For these reasons, it is a
1658 good idea to have an "deny all" or "allow all" entry at the end
1659 of your access lists to avoid potential confusion.
1660
c68e9c6b 1661NOCOMMENT_START
6b53c392 1662#Recommended minimum configuration:
1663#
1664# Only allow cachemgr access from localhost
c68e9c6b 1665http_access allow manager localhost
1666http_access deny manager
6b53c392 1667# Deny requests to unknown ports
499558df 1668http_access deny !Safe_ports
6b53c392 1669# Deny CONNECT to other than SSL ports
c68e9c6b 1670http_access deny CONNECT !SSL_ports
1671#
1672# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
1673#
6b53c392 1674# And finally deny all other access to this proxy
c68e9c6b 1675http_access deny all
1676NOCOMMENT_END
934b03fc 1677DOC_END
1678
1679
1680NAME: icp_access
1681TYPE: acl_access
f1dc9b30 1682LOC: Config.accessList.icp
1683DEFAULT: none
da7f354f 1684DEFAULT_IF_NONE: deny all
934b03fc 1685DOC_START
6b53c392 1686 Allowing or Denying access to the ICP port based on defined
1687 access lists
1688
1689 icp_access allow|deny [!]aclname ...
1690
1691 See http_access for details
934b03fc 1692
c68e9c6b 1693NOCOMMENT_START
6b53c392 1694#Allow ICP queries from eveyone
c68e9c6b 1695icp_access allow all
1696NOCOMMENT_END
934b03fc 1697DOC_END
1698
1699
1700NAME: miss_access
1701TYPE: acl_access
f1dc9b30 1702LOC: Config.accessList.miss
1703DEFAULT: none
934b03fc 1704DOC_START
1705 Use to force your neighbors to use you as a sibling instead of
1706 a parent. For example:
1707
1708 acl localclients src 172.16.0.0/16
1709 miss_access allow localclients
1710 miss_access deny !localclients
1711
1712 This means that only your local clients are allowed to fetch
1713 MISSES and all other clients can only fetch HITS.
1714
1715 By default, allow all clients who passed the http_access rules
1716 to fetch MISSES from us.
6b53c392 1717
c68e9c6b 1718NOCOMMENT_START
6b53c392 1719#Default setting:
1720# miss_access allow all
c68e9c6b 1721NOCOMMENT_END
934b03fc 1722DOC_END
1723
1724
505e35db 1725NAME: cache_peer_access
1726TYPE: peer_access
f1dc9b30 1727DEFAULT: none
1728LOC: none
934b03fc 1729DOC_START
505e35db 1730 Similar to 'cache_peer_domain' but provides more flexibility by
1731 using ACL elements.
934b03fc 1732
505e35db 1733 cache_peer_access cache-host allow|deny [!]aclname ...
934b03fc 1734
505e35db 1735 The syntax is identical to 'http_access' and the other lists of
1736 ACL elements. See the comments for 'http_access' below, or
1737 the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/FAQ-10.html).
934b03fc 1738DOC_END
1739
f715bd3a 1740NAME: proxy_auth_realm
1741TYPE: eol
1742DEFAULT: Squid proxy-caching web server
1743LOC: Config.proxyAuthRealm
1744DOC_START
1745 Specifies the realm name which is to be reported to the client for
1746 proxy authentication (part of the text the user will see when
1747 prompted their username and password).
f715bd3a 1748DOC_END
1749
1750
ec603b25 1751NAME: ident_lookup_access
1752TYPE: acl_access
1753IFDEF: USE_IDENT
1754DEFAULT: none
1755DEFAULT_IF_NONE: deny all
1756LOC: Config.accessList.identLookup
1757DOC_START
1758 A list of ACL elements which, if matched, cause an ident
1759 (RFC 931) lookup to be performed for this request. For
1760 example, you might choose to always perform ident lookups
1761 for your main multi-user Unix boxes, but not for your Macs
1762 and PCs. By default, ident lookups are not performed for
1763 any requests.
1764
1765 To enable ident lookups for specific client addresses, you
1766 can follow this example:
1767
1768 acl ident_aware_hosts src 198.168.1.0/255.255.255.0
1769 ident_lookup_access allow ident_aware_hosts
1770 ident_lookup_access deny all
1771
1772 This option may be disabled by using --disable-ident with
1773 the configure script.
ec603b25 1774DOC_END
1775
1776
0f74202c 1777COMMENT_START
3a278cb8 1778 ADMINISTRATIVE PARAMETERS
1779 -----------------------------------------------------------------------------
0f74202c 1780COMMENT_END
934b03fc 1781
1782NAME: cache_mgr
1783TYPE: string
1784DEFAULT: webmaster
1785LOC: Config.adminEmail
1786DOC_START
1787 Email-address of local cache manager who will receive
1788 mail if the cache dies. The default is "webmaster."
934b03fc 1789DOC_END
1790
1791
1792NAME: cache_effective_user
0153d498 1793TYPE: string
a95856a0 1794DEFAULT: nobody
0153d498 1795LOC: Config.effectiveUser
1796DOC_NONE
1797
1798NAME: cache_effective_group
1799TYPE: string
a95856a0 1800DEFAULT: nogroup
0153d498 1801LOC: Config.effectiveGroup
934b03fc 1802DOC_START
5a3f6538 1803
934b03fc 1804 If the cache is run as root, it will change its effective/real
5a3f6538 1805 UID/GID to the UID/GID specified below. The default is to
1806 change to UID to nobody and GID to nogroup.
1807
1808 If Squid is not started as root, the default is to keep the
1809 current UID/GID. Note that if Squid is not started as root then
1810 you cannot set http_port to a value lower than 1024.
934b03fc 1811DOC_END
1812
1813
1814NAME: visible_hostname
1815TYPE: string
1816LOC: Config.visibleHostname
f1dc9b30 1817DEFAULT: none
934b03fc 1818DOC_START
1819 If you want to present a special hostname in error messages, etc,
1820 then define this. Otherwise, the return value of gethostname()
cf5cc17e 1821 will be used. If you have multiple caches in a cluster and
1822 get errors about IP-forwarding you must set them to have individual
1823 names with this setting.
934b03fc 1824DOC_END
1825
98829f69 1826
1827NAME: unique_hostname
1828TYPE: string
1829LOC: Config.uniqueHostname
1830DEFAULT: none
1831DOC_START
1832 If you want to have multiple machines with the same
1833 'visible_hostname' then you must give each machine a different
1834 'unique_hostname' so that forwarding loops can be detected.
98829f69 1835DOC_END
1836
1f38f50a 1837
1838NAME: hostname_aliases
1839TYPE: wordlist
1840LOC: Config.hostnameAliases
1841DEFAULT: none
1842DOC_START
1843 A list of other DNS names that your cache has.
1844DOC_END
1845
0f74202c 1846COMMENT_START
3a278cb8 1847 OPTIONS FOR THE CACHE REGISTRATION SERVICE
1848 -----------------------------------------------------------------------------
934b03fc 1849
3a278cb8 1850 This section contains parameters for the (optional) cache
1851 announcement service. This service is provided to help
1852 cache administrators locate one another in order to join or
1853 create cache hierarchies.
934b03fc 1854
3a278cb8 1855 An 'announcement' message is sent (via UDP) to the registration
efd900cb 1856 service by Squid. By default, the announcement message is NOT
d2d631ce 1857 SENT unless you enable it with 'announce_period' below.
3a278cb8 1858
1859 The announcement message includes your hostname, plus the
1860 following information from this configuration file:
934b03fc 1861
3a278cb8 1862 http_port
1863 icp_port
1864 cache_mgr
1865
1866 All current information is processed regularly and made
d2d631ce 1867 available on the Web at http://ircache.nlanr.net/Cache/Tracker/.
0f74202c 1868COMMENT_END
934b03fc 1869
f1dc9b30 1870NAME: announce_period
1871TYPE: time_t
1872LOC: Config.Announce.period
d2d631ce 1873DEFAULT: 0
934b03fc 1874DOC_START
d2d631ce 1875 This is how frequently to send cache announcements. The
1876 default is `0' which disables sending the announcement
1877 messages.
934b03fc 1878
cd748f27 1879 To enable announcing your cache, just uncomment the line
1880 below.
1881
6b53c392 1882NOCOMMENT_START
1883#To enable announcing your cache, just uncomment the line below.
1884#announce_period 1 day
1885NOCOMMENT_END
934b03fc 1886DOC_END
1887
1888
f1dc9b30 1889NAME: announce_host
1890TYPE: string
61735fcf 1891DEFAULT: tracker.ircache.net
f1dc9b30 1892LOC: Config.Announce.host
1893DOC_NONE
1894
cf5cc17e 1895NAME: announce_file
1896TYPE: string
61735fcf 1897DEFAULT: none
cf5cc17e 1898LOC: Config.Announce.file
1899DOC_NONE
1900
f1dc9b30 1901NAME: announce_port
1902TYPE: ushort
1903DEFAULT: 3131
1904LOC: Config.Announce.port
934b03fc 1905DOC_START
d2d631ce 1906 announce_host and announce_port set the hostname and port
1907 number where the registration message will be sent.
934b03fc 1908
d2d631ce 1909 Hostname will default to 'tracker.ircache.net' and port will
1910 default default to 3131. If the 'filename' argument is given,
1911 the contents of that file will be included in the announce
1912 message.
934b03fc 1913DOC_END
1914
0f74202c 1915COMMENT_START
3a278cb8 1916 HTTPD-ACCELERATOR OPTIONS
1917 -----------------------------------------------------------------------------
0f74202c 1918COMMENT_END
934b03fc 1919
f1dc9b30 1920NAME: httpd_accel_host
1921TYPE: string
1922LOC: Config.Accel.host
1923DEFAULT: none
1924DOC_NONE
1925
1926NAME: httpd_accel_port
1927TYPE: ushort
1928LOC: Config.Accel.port
5b68a4d3 1929DEFAULT: 80
934b03fc 1930DOC_START
cf5cc17e 1931 If you want to run Squid as an httpd accelerator, define the
934b03fc 1932 host name and port number where the real HTTP server is.
1933
1934 If you want virtual host support then specify the hostname
1935 as "virtual".
1936
839491ad 1937 NOTE: enabling httpd_accel_host disables proxy-caching and
1938 ICP. If you want these features enabled also, then set
1939 the 'httpd_accel_with_proxy' option.
934b03fc 1940DOC_END
1941
13c7936a 1942NAME: httpd_accel_single_host
1943COMMENT: on|off
1944TYPE: onoff
1945LOC: Config.Accel.single_host
1946DEFAULT: on
1947DOC_START
1948 If you are running Squid as a accelerator and have a single backend
1949 server then set this to on. This causes Squid to forward the request
1950 to this server irregardles of what any redirectors or Host headers
1951 says.
1952
1953 Set this to off if you have multiple backend servers, and use a
1954 redirector (or host table) to map the requests to the
1955 appropriate backend servers. Note that the mapping needs to be a
1956 1-1 mapping between requested and backend (from redirector) domain
1957 names or caching will fail, as cacing is performed using the
1958 URL returned from the redirector.
1959
1960 See also redirect_rewrites_host_header.
1961DOC_END
934b03fc 1962
1963NAME: httpd_accel_with_proxy
1964COMMENT: on|off
1965TYPE: onoff
f1dc9b30 1966DEFAULT: off
17a0a4ee 1967LOC: Config.onoff.accel_with_proxy
934b03fc 1968DOC_START
cf5cc17e 1969 If you want to use Squid as both a local httpd accelerator
6b53c392 1970 and as a proxy, change this to 'on'. Note however that your
1971 proxy users may have trouble to reach the accelerated domains
1972 unless their browsers are configured not to use this proxy for
1973 those domains (for example via the no_proxy browser configuration
1974 setting)
934b03fc 1975DOC_END
1976
934b03fc 1977NAME: httpd_accel_uses_host_header
1978COMMENT: on|off
1979TYPE: onoff
f1dc9b30 1980DEFAULT: off
934b03fc 1981LOC: opt_accel_uses_host
1982DOC_START
1983 HTTP/1.1 requests include a Host: header which is basically the
1984 hostname from the URL. Squid can be an accelerator for
1985 different HTTP servers by looking at this header. However,
1986 Squid does NOT check the value of the Host header, so it opens
1987 a big security hole. We recommend that this option remain
1988 disabled unless you are sure of what you are doing.
1989
04f6f348 1990 However, you will need to enable this option if you run Squid
1991 as a transparent proxy. Otherwise, virtual servers which
1992 require the Host: header will not be properly cached.
934b03fc 1993DOC_END
1994
0f74202c 1995COMMENT_START
3a278cb8 1996 MISCELLANEOUS
1997 -----------------------------------------------------------------------------
0f74202c 1998COMMENT_END
934b03fc 1999
2000NAME: dns_testnames
2001TYPE: wordlist
2002LOC: Config.dns_testname_list
f1dc9b30 2003DEFAULT: none
6b53c392 2004DEFAULT_IF_NONE: netscape.com internic.net nlanr.net microsoft.com
934b03fc 2005DOC_START
2006 The DNS tests exit as soon as the first site is successfully looked up
2007
6b53c392 2008 This test can be disabled with the -D command line option.
934b03fc 2009DOC_END
2010
2011
2012NAME: logfile_rotate
2013TYPE: int
2014DEFAULT: 10
2015LOC: Config.Log.rotateNumber
2016DOC_START
5a3f6538 2017 Specifies the number of logfile rotations to make when you
2018 type 'squid -k rotate'. The default is 10, which will rotate
cf5cc17e 2019 with extensions 0 through 9. Setting logfile_rotate to 0 will
934b03fc 2020 disable the rotation, but the logfiles are still closed and
cf5cc17e 2021 re-opened. This will enable you to rename the logfiles
5a3f6538 2022 yourself just before sending the rotate signal.
2023
2024 Note, the 'squid -k rotate' command normally sends a USR1
2025 signal to the running squid process. In certain situations
2026 (e.g. on Linux with Async I/O), USR1 is used for other
2027 purposes, so -k rotate uses another signal. It is best to get
2028 in the habit of using 'squid -k rotate' instead of 'kill -USR1
2029 <pid>'.
934b03fc 2030DOC_END
2031
2032
2033NAME: append_domain
f1dc9b30 2034TYPE: string
2035LOC: Config.appendDomain
2036DEFAULT: none
934b03fc 2037DOC_START
cf5cc17e 2038 Appends local domain name to hostnames without any dots in
2039 them. append_domain must begin with a period.
934b03fc 2040
6b53c392 2041Example:
2042 append_domain .yourdomain.com
934b03fc 2043DOC_END
2044
2045
2046NAME: tcp_recv_bufsize
89de058c 2047COMMENT: (bytes)
1b635117 2048TYPE: b_size_t
89de058c 2049DEFAULT: 0 bytes
934b03fc 2050LOC: Config.tcpRcvBufsz
2051DOC_START
2052 Size of receive buffer to set for TCP sockets. Probably just
2053 as easy to change your kernel's default. Set to zero to use
2054 the default buffer size.
934b03fc 2055DOC_END
2056
934b03fc 2057NAME: err_html_text
f1dc9b30 2058TYPE: eol
2059LOC: Config.errHtmlText
2060DEFAULT: none
934b03fc 2061DOC_START
2062 HTML text to include in error messages. Make this a "mailto"
2063 URL to your admin address, or maybe just a link to your
2064 organizations Web page.
2065
ab1e6b8a 2066 To include this in your error messages, you must rewrite
2067 the error template files (found in the "errors" directory).
2068 Wherever you want the 'err_html_text' line to appear,
2069 insert a %L tag in the error template file.
934b03fc 2070DOC_END
2071
2072
2073NAME: deny_info
2074TYPE: denyinfo
2075LOC: Config.denyInfoList
f1dc9b30 2076DEFAULT: none
934b03fc 2077DOC_START
02922e76 2078 Usage: deny_info err_page_name acl
2079 Example: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
934b03fc 2080
02922e76 2081 This can be used to return a ERR_ page for requests which
934b03fc 2082 do not pass the 'http_access' rules. A single ACL will cause
2083 the http_access check to fail. If a 'deny_info' line exists
02922e76 2084 for that ACL then Squid returns a corresponding error page.
cf5cc17e 2085
02922e76 2086 You may use ERR_ pages that come with Squid or create your own pages
2087 and put them into the configured errors/ directory.
934b03fc 2088DOC_END
2089
934b03fc 2090NAME: memory_pools
2091COMMENT: on|off
2092TYPE: onoff
f1dc9b30 2093DEFAULT: on
3f6c0fb2 2094LOC: Config.onoff.mem_pools
934b03fc 2095DOC_START
2096 If set, Squid will keep pools of allocated (but unused) memory
2097 available for future use. If memory is a premium on your
7021844c 2098 system and you believe your malloc library outperforms Squid
d0d41f07 2099 routines, disable this.
934b03fc 2100DOC_END
2101
7021844c 2102NAME: memory_pools_limit
2103COMMENT: (bytes)
2104TYPE: b_size_t
2105DEFAULT: none
f12c295b 2106LOC: Config.MemPools.limit
7021844c 2107DOC_START
f12c295b 2108 Used only with memory_pools on:
2109 memory_pools_limit 50 MB
7021844c 2110
f12c295b 2111 If set to a non-zero value, Squid will keep at most the specified
2112 limit of allocated (but unused) memory in memory pools. All free()
2113 requests that exceed this limit will be handled by your malloc
2114 library. Squid does not pre-allocate any memory, just safe-keeps
2115 objects that otherwise would be free()d. Thus, it is safe to set
7021844c 2116 memory_pools_limit to a reasonably high value even if your
f12c295b 2117 configuration will use less memory.
2118
2119 If not set (default) or set to zero, Squid will keep all memory it
2120 can. That is, there will be no limit on the total amount of memory
2121 used for safe-keeping.
7021844c 2122
2123 To disable memory allocation optimization, do not set
2124 memory_pools_limit to 0. Set memory_pools to "off" instead.
2125
f12c295b 2126 An overhead for maintaining memory pools is not taken into account
2127 when the limit is checked. This overhead is close to four bytes per
2128 object kept. However, pools may actually _save_ memory because of
2129 reduced memory thrashing in your malloc library.
7021844c 2130DOC_END
2131
934b03fc 2132NAME: forwarded_for
2133COMMENT: on|off
2134TYPE: onoff
f1dc9b30 2135DEFAULT: on
934b03fc 2136LOC: opt_forwarded_for
2137DOC_START
2138 If set, Squid will include your system's IP address or name
2139 in the HTTP requests it forwards. By default it looks like
2140 this:
2141
2142 X-Forwarded-For: 192.1.2.3
2143
2144 If you disable this, it will appear as
2145
2146 X-Forwarded-For: unknown
934b03fc 2147DOC_END
2148
2149NAME: log_icp_queries
2150COMMENT: on|off
2151TYPE: onoff
f1dc9b30 2152DEFAULT: on
17a0a4ee 2153LOC: Config.onoff.log_udp
934b03fc 2154DOC_START
cf5cc17e 2155 If set, ICP queries are logged to access.log. You may wish
2156 do disable this if your ICP load is VERY high to speed things
2157 up or to simplify log analysis.
934b03fc 2158DOC_END
2159
88738790 2160NAME: icp_hit_stale
2161COMMENT: on|off
2162TYPE: onoff
2163DEFAULT: off
17a0a4ee 2164LOC: Config.onoff.icp_hit_stale
88738790 2165DOC_START
2166 If you want to return ICP_HIT for stale cache objects, set this
2167 option to 'on'. If you have sibling relationships with caches
2168 in other administrative domains, this should be 'off'. If you only
2169 have sibling relationships with caches under your control, then
2170 it is probably okay to set this to 'on'.
88738790 2171DOC_END
2172
934b03fc 2173
2174NAME: minimum_direct_hops
2175TYPE: int
2176DEFAULT: 4
2177LOC: Config.minDirectHops
2178DOC_START
2179 If using the ICMP pinging stuff, do direct fetches for sites
2180 which are no more than this many hops away.
934b03fc 2181DOC_END
2182
2183
2184NAME: cachemgr_passwd
2185TYPE: cachemgrpasswd
86101e40 2186DEFAULT: none
f1dc9b30 2187LOC: Config.passwd_list
934b03fc 2188DOC_START
2189 Specify passwords for cachemgr operations.
2190
2191 Usage: cachemgr_passwd password action action ...
2192
064a674d 2193 Some valid actions are (see cache manager menu for a full list):
2194 5min
2195 60min
2196 asndb
2197 authenticator
2198 cbdata
2199 client_list
2200 comm_incoming
2201 config *
2202 counters
2203 delay
2204 digest_stats
cf5cc17e 2205 dns
064a674d 2206 events
cf5cc17e 2207 filedescriptors
064a674d 2208 fqdncache
2209 histograms
2210 http_headers
2211 info
2212 io
2213 ipcache
2214 mem
2215 menu
cf5cc17e 2216 netdb
064a674d 2217 non_peers
2218 objects
2219 pconn
2220 peer_select
2221 redirector
2222 refresh
934b03fc 2223 server_list
064a674d 2224 shutdown *
2225 store_digest
2226 storedir
2227 utilization
2228 via_headers
2229 vm_objects
934b03fc 2230
2231 * Indicates actions which will not be performed without a
2232 valid password, others can be performed if not listed here.
2233
2234 To disable an action, set the password to "disable".
2235 To allow performing an action without a password, set the
2236 password to "none".
2237
2238 Use the keyword "all" to set the same password for all actions.
2239
6b53c392 2240Example:
2241 cachemgr_passwd secret shutdown
2242 cachemgr_passwd lesssssssecret info stats/objects
2243 cachemgr_passwd disable all
934b03fc 2244DOC_END
2245
934b03fc 2246NAME: store_avg_object_size
86101e40 2247COMMENT: (kbytes)
2248TYPE: kb_size_t
2bf99296 2249DEFAULT: 13 KB
934b03fc 2250LOC: Config.Store.avgObjectSize
2251DOC_START
2252 Average object size, used to estimate number of objects your
2253 cache can hold. See doc/Release-Notes-1.1.txt. The default is
2bf99296 2254 13 KB.
934b03fc 2255DOC_END
2256
2257NAME: store_objects_per_bucket
2258TYPE: int
baf144ad 2259DEFAULT: 20
934b03fc 2260LOC: Config.Store.objectsPerBucket
2261DOC_START
2262 Target number of objects per bucket in the store hash table.
2263 Lowering this value increases the total number of buckets and
7e3ce7b9 2264 also the storage maintenance rate. The default is 50.
934b03fc 2265DOC_END
2266
934b03fc 2267NAME: client_db
2268COMMENT: on|off
2269TYPE: onoff
f1dc9b30 2270DEFAULT: on
17a0a4ee 2271LOC: Config.onoff.client_db
934b03fc 2272DOC_START
2273 If you want to disable collecting per-client statistics, then
2274 turn off client_db here.
934b03fc 2275DOC_END
2276
2277
2278NAME: netdb_low
2279TYPE: int
2280DEFAULT: 900
2281LOC: Config.Netdb.low
2282DOC_NONE
2283
2284NAME: netdb_high
2285TYPE: int
2286DEFAULT: 1000
2287LOC: Config.Netdb.high
2288DOC_START
2289 The low and high water marks for the ICMP measurement
2290 database. These are counts, not percents. The defaults are
2291 900 and 1000. When the high water mark is reached, database
2292 entries will be deleted until the low mark is reached.
934b03fc 2293DOC_END
2294
2295
2296NAME: netdb_ping_period
f1dc9b30 2297TYPE: time_t
934b03fc 2298LOC: Config.Netdb.period
9e975e4e 2299DEFAULT: 5 minutes
934b03fc 2300DOC_START
2301 The minimum period for measuring a site. There will be at
2302 least this much delay between successive pings to the same
2303 network. The default is five minutes.
934b03fc 2304DOC_END
2305
2306
2307NAME: query_icmp
2308COMMENT: on|off
2309TYPE: onoff
f1dc9b30 2310DEFAULT: off
17a0a4ee 2311LOC: Config.onoff.query_icmp
934b03fc 2312DOC_START
2313 If you want to ask your peers to include ICMP data in their ICP
2314 replies, enable this option.
2315
cf5cc17e 2316 If your peer has configured Squid (during compilation) with
2317 '--enable-icmp' then that peer will send ICMP pings to origin server
2318 sites of the URLs it receives. If you enable this option then the
2319 ICP replies from that peer will include the ICMP data (if available).
2320 Then, when choosing a parent cache, Squid will choose the parent with
934b03fc 2321 the minimal RTT to the origin server. When this happens, the
2322 hierarchy field of the access.log will be
2323 "CLOSEST_PARENT_MISS". This option is off by default.
934b03fc 2324DOC_END
2325
88500f96 2326NAME: test_reachability
194dd3b8 2327COMMENT: on|off
2328TYPE: onoff
2329DEFAULT: off
2330LOC: Config.onoff.test_reachability
2331DOC_START
2332 When this is 'on', ICP MISS replies will be ICP_MISS_NOFETCH
2333 instead of ICP_MISS if the target host is NOT in the ICMP
2334 database, or has a zero RTT.
194dd3b8 2335DOC_END
2336
78f1250a 2337NAME: buffered_logs
2338COMMENT: on|off
2339TYPE: onoff
2340DEFAULT: off
17a0a4ee 2341LOC: Config.onoff.buffered_logs
78f1250a 2342DOC_START
2343 Some log files (cache.log, useragent.log) are written with
2344 stdio functions, and as such they can be buffered or
cf5cc17e 2345 unbuffered. By default they will be unbuffered. Buffering them
2346 can speed up the writing slightly (though you are unlikely to
2347 need to worry).
78f1250a 2348DOC_END
2349
465dc415 2350NAME: reload_into_ims
9f60cfdf 2351IFDEF: HTTP_VIOLATIONS
465dc415 2352COMMENT: on|off
2353TYPE: onoff
2354DEFAULT: off
2355LOC: Config.onoff.reload_into_ims
2356DOC_START
2357 When you enable this option, client no-cache or ``reload''
2358 requests will be changed to If-Modified-Since requests.
2359 Doing this VIOLATES the HTTP standard. Enabling this
2360 feature could make you liable for problems which it
2361 causes.
cbe3a719 2362
2363 see also refresh_pattern for a more selective approach.
2364
6b8e7481 2365 This option may be disabled by using --disable-http-violations
2366 with the configure script.
465dc415 2367DOC_END
2368
934b03fc 2369NAME: always_direct
2370TYPE: acl_access
2371LOC: Config.accessList.AlwaysDirect
f1dc9b30 2372DEFAULT: none
934b03fc 2373DOC_START
2a78fa67 2374 Usage: always_direct allow|deny [!]aclname ...
2375
2376 Here you can use ACL elements to specify requests which should
3445a83a 2377 ALWAYS be forwarded directly to origin servers. For example,
2378 to always directly forward requests for local servers use
2a78fa67 2379 something like:
2380
2381 acl local-servers dstdomain my.domain.net
2382 always_direct allow local-servers
2383
2384 To always forward FTP requests directly, use
2385
2386 acl FTP proto FTP
2387 always_direct allow FTP
2388
2389 NOTE: There is a similar, but opposite option named
2390 'never_direct'. You need to be aware that "always_direct deny
2391 foo" is NOT the same thing as "never_direct allow foo". You
2392 may need to use a deny rule to exclude a more-specific case of
2393 some other rule. Example:
2394
2395 acl local-external dstdomain external.foo.net
2396 acl local-servers dstdomain foo.net
2397 always_direct deny local-external
2398 always_direct allow local-servers
3445a83a 2399
2400 This option replaces some v1.1 options such as local_domain
2401 and local_ip.
934b03fc 2402DOC_END
2403
2404NAME: never_direct
2405TYPE: acl_access
2406LOC: Config.accessList.NeverDirect
f1dc9b30 2407DEFAULT: none
934b03fc 2408DOC_START
d0d41f07 2409 Usage: never_direct allow|deny [!]aclname ...
2a78fa67 2410
2411 never_direct is the opposite of always_direct. Please read
2412 the description for always_direct if you have not already.
934b03fc 2413
2a78fa67 2414 With 'never_direct' you can use ACL elements to specify
2415 requests which should NEVER be forwarded directly to origin
3445a83a 2416 servers. For example, to force the use of a proxy for all
2417 requests, except those in your local domain use something like:
2a78fa67 2418
3445a83a 2419 acl local-servers dstdomain foo.net
2a78fa67 2420 acl all src 0.0.0.0/0.0.0.0
d0d41f07 2421 never_direct deny local-servers
2422 never_direct allow all
3445a83a 2423
2424 or if squid is inside a firewall and there is local intranet
2425 servers inside the firewall then use something like:
2426
2427 acl local-intranet dstdomain foo.net
2428 acl local-external dstdomain external.foo.net
2429 always_direct deny local-external
2430 always_direct allow local-intranet
2431 never_direct allow all
2432
2433 This option replaces some v1.1 options such as inside_firewall
2434 and firewall_ip.
2a78fa67 2435DOC_END
934b03fc 2436
5bcad01d 2437NAME: anonymize_headers
97474590 2438TYPE: http_header
5bcad01d 2439LOC: Config.anonymize_headers
97474590 2440DEFAULT: none
2441DOC_START
78a0e865 2442 Usage: anonymize_headers allow|deny header_name ...
97474590 2443
5bcad01d 2444 This option replaces the old 'http_anonymizer' option with
2445 something that is much more configurable. You may now
2446 specify exactly which headers are to be allowed, or which
2447 are to be removed from outgoing requests.
97474590 2448
5bcad01d 2449 There are two methods of using this option. You may either
2450 allow specific headers (thus denying all others), or you
2451 may deny specific headers (thus allowing all others).
97474590 2452
efd900cb 2453 For example, to achieve the same behavior as the old
5bcad01d 2454 'http_anonymizer standard' option, you should use:
97474590 2455
5bcad01d 2456 anonymize_headers deny From Referer Server
2457 anonymize_headers deny User-Agent WWW-Authenticate Link
2458
2459 Or, to reproduce the old 'http_anonymizer paranoid' feature
2460 you should use:
97474590 2461
5bcad01d 2462 anonymize_headers allow Allow Authorization Cache-Control
2463 anonymize_headers allow Content-Encoding Content-Length
2464 anonymize_headers allow Content-Type Date Expires Host
2465 anonymize_headers allow If-Modified-Since Last-Modified
efd900cb 2466 anonymize_headers allow Location Pragma Accept
5bcad01d 2467 anonymize_headers allow Accept-Encoding Accept-Language
2468 anonymize_headers allow Content-Language Mime-Version
2469 anonymize_headers allow Retry-After Title Connection
2470 anonymize_headers allow Proxy-Connection
97474590 2471
5bcad01d 2472 NOTE: You can not mix "allow" and "deny". All 'anonymize_headers'
2473 lines must have the same second argument.
97474590 2474
5bcad01d 2475 By default, all headers are allowed (no anonymizing is
2476 performed).
97474590 2477DOC_END
2478
88738790 2479NAME: fake_user_agent
2480TYPE: eol
2481LOC: Config.fake_ua
2482DEFAULT: none
2483DOC_START
5bcad01d 2484 If you filter the User-Agent header with 'anonymize_headers' it
2485 may cause some Web servers to refuse your request. Use this to
d0d41f07 2486 fake one up. For example:
88738790 2487
d0d41f07 2488 fake_user_agent Nutscrape/1.0 (CP/M; 8-bit)
2489 (credit to Paul Southworth pauls@etext.org for this one!)
88738790 2490DOC_END
2491
365cb147 2492NAME: icon_directory
f0b19334 2493TYPE: string
365cb147 2494LOC: Config.icons.directory
2495DEFAULT: @DEFAULT_ICON_DIR@
2496DOC_START
cf5cc17e 2497 Where the icons are stored. These are normally kept in
2498 @DEFAULT_ICON_DIR@
365cb147 2499DOC_END
2500
cf5cc17e 2501NAME: error_directory
365cb147 2502TYPE: string
cf5cc17e 2503LOC: Config.errorDirectory
2504DEFAULT: @DEFAULT_ERROR_DIR@
365cb147 2505DOC_START
cf5cc17e 2506 If you wish to create your own versions of the default
efd900cb 2507 (English) error files, either to customize them to suit your
2508 language or company copy the template English files to another
cf5cc17e 2509 directory and point this tag at them.
365cb147 2510DOC_END
88738790 2511
22c653cd 2512NAME: minimum_retry_timeout
2513COMMENT: (seconds)
2514TYPE: time_t
2515LOC: Config.retry.timeout
2516DEFAULT: 5 seconds
2517DOC_START
2518 This specifies the minimum connect timeout, for when the
2519 connect timeout is reduced to compensate for the availability
2520 of multiple IP addresses.
2521
cf5cc17e 2522 When a connection to a host is initiated, and that host has
2523 several IP addresses, the default connection timeout is reduced
2524 by dividing it by the number of addresses. So, a site with 15
2525 addresses would then have a timeout of 8 seconds for each
2526 address attempted. To avoid having the timeout reduced to the
2527 point where even a working host would not have a chance to
2528 respond, this setting is provided. The default, and the
2529 minimum value, is five seconds, and the maximum value is sixty
2530 seconds, or half of connect_timeout, whichever is greater and
2531 less than connect_timeout.
22c653cd 2532DOC_END
2533
2534NAME: maximum_single_addr_tries
2535TYPE: int
2536LOC: Config.retry.maxtries
2537DEFAULT: 3
2538DOC_START
2539 This sets the maximum number of connection attempts for a
2540 host that only has one address (for multiple-address hosts,
2541 each address is tried once).
2542
2543 The default value is three tries, the (not recommended)
2544 maximum is 255 tries. A warning message will be generated
2545 if it is set to a value greater than ten.
22c653cd 2546DOC_END
6d1c0d53 2547
a97cfa48 2548NAME: snmp_port
2549TYPE: ushort
2550LOC: Config.Port.snmp
2551DEFAULT: 3401
1df370e3 2552IFDEF: SQUID_SNMP
a97cfa48 2553DOC_START
cf5cc17e 2554 Squid can now serve statistics and status information via SNMP.
2555 By default it listens to port 3401 on the machine. If you don't
9bc73deb 2556 wish to use SNMP, set this to "0".
cf5cc17e 2557
2558 NOTE: SNMP support requires use the --enable-snmp configure
2559 command line option.
a97cfa48 2560DOC_END
2561
dba79ac5 2562NAME: snmp_access
2563TYPE: acl_access
2564LOC: Config.accessList.snmp
a97cfa48 2565DEFAULT: none
6502682e 2566DEFAULT_IF_NONE: deny all
1df370e3 2567IFDEF: SQUID_SNMP
a97cfa48 2568DOC_START
dba79ac5 2569 Allowing or denying access to the SNMP port.
08f6b5e0 2570
2571 All access to the agent is denied by default.
dba79ac5 2572 usage:
4feb7b2e 2573
dba79ac5 2574 snmp_access allow|deny [!]aclname ...
08f6b5e0 2575
2576Example:
6b53c392 2577 snmp_access allow snmppublic localhost
2578 snmp_access deny all
bdf18524 2579DOC_END
2580
15dcc168 2581NAME: snmp_incoming_address
2582TYPE: address
1ecaa0a0 2583LOC: Config.Addrs.snmp_incoming
15dcc168 2584DEFAULT: 0.0.0.0
2585IFDEF: SQUID_SNMP
2586DOC_NONE
2587NAME: snmp_outgoing_address
2588TYPE: address
2589LOC: Config.Addrs.snmp_outgoing
2590DEFAULT: 255.255.255.255
2591IFDEF: SQUID_SNMP
2592DOC_START
2593 Just like 'udp_incoming_address' above, but for the SNMP port.
2594
2595 snmp_incoming_address is used for the SNMP socket receiving
2596 messages from SNMP agents.
2597 snmp_outgoing_address is used for SNMP packets returned to SNMP
2598 agents.
2599
6b53c392 2600 The default snmp_incoming_address (0.0.0.0) is to listen on all
2601 available network interfaces.
15dcc168 2602
6b53c392 2603 If snmp_outgoing_address is set to 255.255.255.255 (the default)
2604 then it will use the same socket as snmp_incoming_address. Only
2605 change this if you want to have SNMP replies sent using another
2606 address than where this Squid listens for SNMP queries.
15dcc168 2607
6b53c392 2608 NOTE, snmp_incoming_address and snmp_outgoing_address can not have
2609 the same value since they both use port 3401.
15dcc168 2610DOC_END
bdf18524 2611
53ad48e6 2612NAME: as_whois_server
2613TYPE: string
2614LOC: Config.as_whois_server
2615DEFAULT: whois.ra.net
2616DEFAULT_IF_NONE: whois.ra.net
2617DOC_START
cf5cc17e 2618 WHOIS server to query for AS numbers. NOTE: AS numbers are
2619 queried only when Squid starts up, not for every request.
53ad48e6 2620DOC_END
95e36d02 2621
320e9f36 2622NAME: wccp_router
2623TYPE: address
2624LOC: Config.Wccp.router
2625DEFAULT: 0.0.0.0
eb824054 2626IFDEF: USE_WCCP
320e9f36 2627DOC_START
efd900cb 2628 Use this option to define your WCCP ``home'' router for
2629 Squid. Setting the 'wccp_router' to 0.0.0.0 (the default)
2630 disables WCCP.
320e9f36 2631DOC_END
2632
2633NAME: wccp_incoming_address
2634TYPE: address
eb824054 2635LOC: Config.Wccp.incoming
320e9f36 2636DEFAULT: 0.0.0.0
eb824054 2637IFDEF: USE_WCCP
320e9f36 2638DOC_NONE
2639NAME: wccp_outgoing_address
2640TYPE: address
eb824054 2641LOC: Config.Wccp.outgoing
320e9f36 2642DEFAULT: 255.255.255.255
eb824054 2643IFDEF: USE_WCCP
320e9f36 2644DOC_START
efd900cb 2645 wccp_incoming_address Use this option if you require WCCP
2646 messages to be received on only one
2647 interface. Do NOT use this option if
2648 you're unsure how many interfaces you
2649 have, or if you know you have only one
2650 interface.
320e9f36 2651
efd900cb 2652 wccp_outgoing_address Use this option if you require WCCP
2653 messages to be sent out on only one
2654 interface. Do NOT use this option if
2655 you're unsure how many interfaces you
2656 have, or if you know you have only one
2657 interface.
320e9f36 2658
efd900cb 2659 The default behavior is to not bind to any specific address.
320e9f36 2660
2661 NOTE, wccp_incoming_address and wccp_outgoing_address can not have
2662 the same value since they both use port 2048.
320e9f36 2663DOC_END
2664
2665
95e36d02 2666COMMENT_START
2667 DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
2668 -----------------------------------------------------------------------------
95e36d02 2669COMMENT_END
2670
59715b38 2671NAME: delay_pools
2672TYPE: delay_pool_count
2673DEFAULT: 0
95e36d02 2674IFDEF: DELAY_POOLS
59715b38 2675LOC: Config.Delay
95e36d02 2676DOC_START
59715b38 2677 This represents the number of delay pools to be used. For example,
2678 if you have one class 2 delay pool and one class 3 delays pool, you
2679 have a total of 2 delay pools.
2680
6b8e7481 2681 To enable this option, you must use --enable-delay-pools with the
2682 configure script.
95e36d02 2683DOC_END
2684
59715b38 2685NAME: delay_class
2686TYPE: delay_pool_class
95e36d02 2687DEFAULT: none
2688IFDEF: DELAY_POOLS
59715b38 2689LOC: Config.Delay
95e36d02 2690DOC_START
59715b38 2691 This defines the class of each delay pool. There must be exactly one
2692 delay_class line for each delay pool. For example, to define two
2693 delay pools, one of class 2 and one of class 3, the settings above
2694 and here would be:
2695
6b53c392 2696Example:
2697 delay_pools 2 # 2 delay pools
2698 delay_class 1 2 # pool 1 is a class 2 pool
2699 delay_class 2 3 # pool 2 is a class 3 pool
59715b38 2700
2701 The delay pool classes are:
2702
2703 class 1 Everything is limited by a single aggregate
2704 bucket.
2705
2706 class 2 Everything is limited by a single aggregate
2707 bucket as well as an "individual" bucket chosen
2708 from bits 25 through 32 of the IP address.
2709
2710 class 3 Everything is limited by a single aggregate
2711 bucket as well as a "network" bucket chosen
2712 from bits 17 through 24 of the IP address and a
2713 "individual" bucket chosen from bits 17 through
2714 32 of the IP address.
2715
2716 NOTE: If an IP address is a.b.c.d
2717 -> bits 25 through 32 are "d"
2718 -> bits 17 through 24 are "c"
2719 -> bits 17 through 32 are "c * 256 + d"
95e36d02 2720DOC_END
2721
59715b38 2722NAME: delay_access
2723TYPE: delay_pool_access
95e36d02 2724DEFAULT: none
2725IFDEF: DELAY_POOLS
59715b38 2726LOC: Config.Delay
95e36d02 2727DOC_START
59715b38 2728 This is used to determine which delay pool a request falls into.
efd900cb 2729 The first matched delay pool is always used, i.e., if a request falls
59715b38 2730 into delay pool number one, no more delay are checked, otherwise the
2731 rest are checked in order of their delay pool number until they have
2732 all been checked. For example, if you want some_big_clients in delay
2733 pool 1 and lotsa_little_clients in delay pool 2:
95e36d02 2734
6b53c392 2735Example:
2736 delay_access 1 allow some_big_clients
2737 delay_access 1 deny all
2738 delay_access 2 allow lotsa_little_clients
2739 delay_access 2 deny all
95e36d02 2740DOC_END
2741
59715b38 2742NAME: delay_parameters
2743TYPE: delay_pool_rates
2744DEFAULT: none
95e36d02 2745IFDEF: DELAY_POOLS
59715b38 2746LOC: Config.Delay
95e36d02 2747DOC_START
59715b38 2748 This defines the parameters for a delay pool. Each delay pool has
2749 a number of "buckets" associated with it, as explained in the
2750 description of delay_class. For a class 1 delay pool, the syntax is:
95e36d02 2751
59715b38 2752delay_parameters pool aggregate
95e36d02 2753
59715b38 2754 For a class 2 delay pool:
95e36d02 2755
59715b38 2756delay_parameters pool aggregate individual
95e36d02 2757
59715b38 2758 For a class 3 delay pool:
95e36d02 2759
59715b38 2760delay_parameters pool aggregate network individual
95e36d02 2761
59715b38 2762 The variables here are:
95e36d02 2763
59715b38 2764 pool a pool number - ie, a number between 1 and the
2765 number specified in delay_pools as used in
2766 delay_class lines.
95e36d02 2767
59715b38 2768 aggregate the "delay parameters" for the aggregate bucket
2769 (class 1, 2, 3).
95e36d02 2770
59715b38 2771 individual the "delay parameters" for the individual
2772 buckets (class 2, 3).
2773
2774 network the "delay parameters" for the network buckets
2775 (class 3).
2776
2777 A pair of delay parameters is written restore/maximum, where restore is
2778 the number of bytes (not bits - modem and network speeds are usually
2779 quoted in bits) per second placed into the bucket, and maximum is the
2780 maximum number of bytes which can be in the bucket at any time.
2781
2782 For example, if delay pool number 1 is a class 2 delay pool as in the
2783 above example, and is being used to strictly limit each host to 64kbps
2784 (plus overheads), with no overall limit, the line is:
2785
2786delay_parameters 1 -1/-1 8000/8000
2787
2788 Note that the figure -1 is used to represent "unlimited".
2789
2790 And, if delay pool number 2 is a class 3 delay pool as in the above
2791 example, and you want to limit it to a total of 256kbps (strict limit)
2792 with each 8-bit network permitted 64kbps (strict limit) and each
2793 individual host permitted 4800bps with a bucket maximum size of 64kb
2794 to permit a decent web page to be downloaded at a decent speed
2795 (if the network is not being limited due to overuse) but slow down
2796 large downloads more significantly:
2797
2798delay_parameters 2 32000/32000 8000/8000 600/64000
2799
2800 There must be one delay_parameters line for each delay pool.
95e36d02 2801DOC_END
2802
59715b38 2803NAME: delay_initial_bucket_level
2804COMMENT: (percent, 0-100)
2805TYPE: ushort
2806DEFAULT: 50
95e36d02 2807IFDEF: DELAY_POOLS
59715b38 2808LOC: Config.Delay.initial
95e36d02 2809DOC_START
59715b38 2810 The initial bucket percentage is used to determine how much is put
2811 in each bucket when squid starts, is reconfigured, or first notices
2812 a host accessing it (in class 2 and class 3, individual hosts and
2813 networks only have buckets associated with them once they have been
2814 "seen" by squid).
95e36d02 2815DOC_END
6be2389e 2816
9cd6c6fb 2817NAME: incoming_icp_average
6be2389e 2818TYPE: int
2819DEFAULT: 6
2820LOC: Config.comm_incoming.icp_average
2821DOC_NONE
2822
9cd6c6fb 2823NAME: incoming_http_average
6be2389e 2824TYPE: int
2825DEFAULT: 4
2826LOC: Config.comm_incoming.http_average
2827DOC_NONE
2828
9cd6c6fb 2829NAME: min_icp_poll_cnt
6be2389e 2830TYPE: int
2831DEFAULT: 8
2832LOC: Config.comm_incoming.icp_min_poll
2833DOC_NONE
2834
9cd6c6fb 2835NAME: min_http_poll_cnt
6be2389e 2836TYPE: int
2837DEFAULT: 8
2838LOC: Config.comm_incoming.http_min_poll
2839DOC_START
b6a2f15e 2840 Heavy voodoo here. I can't even believe you are reading this.
6be2389e 2841 Are you crazy? Don't even think about adjusting these unless
2842 you understand the algorithms in comm_select.c first!
2843DOC_END
2b4283e4 2844
c5f627c2 2845NAME: max_open_disk_fds
2846TYPE: int
2847LOC: Config.max_open_disk_fds
2848DEFAULT: 0
6b53c392 2849DOC_START
2850 To avoid having disk as the I/O bottleneck Squid can optionally
2851 bypass the on-disk cache if more than this amount of disk file
2852 descriptors are open.
2853
2854 A value of 0 indicates no limit.
2855DOC_END
c5f627c2 2856
b540e168 2857NAME: offline_mode
2858TYPE: onoff
2859LOC: Config.onoff.offline
2860DEFAULT: off
2861DOC_START
2862 Enable this option and Squid will never try to validate cached
2863 objects.
2864DOC_END
2865
d548ee64 2866NAME: uri_whitespace
2867TYPE: uri_whitespace
2868LOC: Config.uri_whitespace
7e3ce7b9 2869DEFAULT: strip
d548ee64 2870DOC_START
2871 What to do with requests that have whitespace characters in the
2872 URI. Options:
2873
7e3ce7b9 2874 strip: The whitespace characters are stripped out of the URL.
2875 This is the behavior recommended by RFC2616.
d548ee64 2876 deny: The request is denied. The user receives an "Invalid
2877 Request" message.
2878 allow: The request is allowed and the URI is not changed. The
2879 whitespace characters remain in the URI. Note the
2880 whitespace is passed to redirector processes if they
2881 are in use.
2882 encode: The request is allowed and the whitespace characters are
2883 encoded according to RFC1738. This could be considered
2884 a violation of the HTTP/1.1
2885 RFC because proxies are not allowed to rewrite URI's.
2886 chop: The request is allowed and the URI is chopped at the
2887 first whitespace. This might also be considered a
2888 violation.
d548ee64 2889DOC_END
2890
376bb137 2891NAME: broken_posts
2892TYPE: acl_access
2893DEFAULT: none
2894LOC: Config.accessList.brokenPosts
c68e9c6b 2895DOC_START
376bb137 2896 A list of ACL elements which, if matched, causes Squid to send
2897 a extra CRLF pair after the body of a PUT/POST request.
2898
2899 Some HTTP servers has broken implementations of PUT/POST,
2900 and rely on a extra CRLF pair sent by some WWW clients.
2901
2902 Quote from RFC 2068 section 4.1 on this matter:
2903
2904 Note: certain buggy HTTP/1.0 client implementations generate an
2905 extra CRLF's after a POST request. To restate what is explicitly
2906 forbidden by the BNF, an HTTP/1.1 client must not preface or follow
2907 a request with an extra CRLF.
2908
6b53c392 2909Example:
2910 acl buggy_server url_regex ^http://....
2911 broken_posts allow buggy_server
c68e9c6b 2912DOC_END
9b094667 2913
e66d7923 2914NAME: mcast_miss_addr
2915IFDEF: MULTICAST_MISS_STREAM
2916TYPE: address
2917LOC: Config.mcast_miss.addr
2918DEFAULT: 255.255.255.255
b6a2f15e 2919DOC_START
2920 If you enable this option, every "cache miss" URL will
2921 be sent out on the specified multicast address.
2922
2923 Do not enable this option unless you are are absolutely
2924 certain you understand what you are doing.
2925DOC_END
e66d7923 2926
7e3ce7b9 2927NAME: mcast_miss_ttl
2928IFDEF: MULTICAST_MISS_TTL
2929TYPE: ushort
2930LOC: Config.mcast_miss.ttl
2931DEFAULT: 16
2932DOC_START
2933 This is the time-to-live value for packets multicasted
2934 when multicasting off cache miss URLs is enabled. By
2935 default this is set to 'site scope', i.e. 16.
2936DOC_END
2937
e66d7923 2938NAME: mcast_miss_port
2939IFDEF: MULTICAST_MISS_STREAM
2940TYPE: ushort
2941LOC: Config.mcast_miss.port
2942DEFAULT: 3135
b6a2f15e 2943DOC_START
efd900cb 2944 This is the port number to be used in conjunction with
b6a2f15e 2945 'mcast_miss_addr'.
2946DOC_END
e66d7923 2947
2948NAME: mcast_miss_encode_key
2949IFDEF: MULTICAST_MISS_STREAM
2950TYPE: string
2951LOC: Config.mcast_miss.encode_key
2952DEFAULT: XXXXXXXXXXXXXXXX
b6a2f15e 2953DOC_START
2954 The URLs that are sent in the multicast miss stream are
2955 encrypted. This is the encryption key.
2956DOC_END
e66d7923 2957
168dfda9 2958NAME: nonhierarchical_direct
2959TYPE: onoff
2960LOC: Config.onoff.nonhierarchical_direct
2961DEFAULT: on
2962DOC_START
2963 By default, Squid will send any non-hierarchical requests
2964 (matching hierarchy_stoplist or not cachable request type) direct
2965 to origin servers.
2966
2967 If you set this to off, then Squid will prefer to send these
2968 requests to parents.
2969
2970 Note that in most configurations, by turning this off you will only
2971 add latency to these request without any improvement in global hit
2972 ratio.
2973
2974 If you are inside an firewall then see never_direct instead of
2975 this directive.
168dfda9 2976DOC_END
2977
9b094667 2978NAME: prefer_direct
2979TYPE: onoff
2980LOC: Config.onoff.prefer_direct
168dfda9 2981DEFAULT: off
9b094667 2982DOC_START
168dfda9 2983 Normally Squid tries to use parents for most requests. If you by some
2984 reason like it to first try going direct and only use a parent if
2985 going direct fails then set this to off.
2986
2987 By combining nonhierarchical_direct off and prefer_direct on you
2988 can set up Squid to use a parent as a backup path if going direct
2989 fails.
9b094667 2990DOC_END
4d62b0af 2991
bcbc11b0 2992NAME: strip_query_terms
2993TYPE: onoff
2994LOC: Config.onoff.strip_query_terms
2995DEFAULT: on
2996DOC_START
2997 By default, Squid strips query terms from requested URLs before
2998 logging. This protects your user's privacy.
bcbc11b0 2999DOC_END
3000
b6a2f15e 3001NAME: coredump_dir
3002TYPE: string
3003LOC: Config.coredump_dir
3004DEFAULT: none
3005DOC_START
3006 By default Squid leaves core files in the first cache_dir
3007 directory. If you set 'coredump_dir' to a directory
3008 that exists, Squid will chdir() to that directory at startup
3009 and coredump files will be left there.
3010DOC_END
3011
07476a7f 3012NAME: redirector_bypass
3013TYPE: onoff
3014LOC: Config.onoff.redirector_bypass
3015DEFAULT: off
3016DOC_START
3017 When this is 'on', a request will not go through the
3018 redirector if all redirectors are busy. If this is 'off'
3019 and the redirector queue grows too large, Squid will exit
29de1a20 3020 with a FATAL error and ask you to increase the number of
07476a7f 3021 redirectors. You should only enable this if the redirectors
3022 are not critical to your caching system. If you use
3023 redirectors for access control, and you enable this option,
3024 then users may have access to pages that they should not
3025 be allowed to request.
3026DOC_END
3027
9bc73deb 3028NAME: ignore_unknown_nameservers
3029TYPE: onoff
3030LOC: Config.onoff.ignore_unknown_nameservers
3031DEFAULT: on
3032DOC_START
3033 By default Squid checks that DNS responses are received
3034 from the same IP addresses that they are sent to. If they
3035 don't match, Squid ignores the response and writes a warning
3036 message to cache.log. You can allow responses from unknown
3037 nameservers by setting this option to 'off'.
9bc73deb 3038DOC_END
3039
7e3ce7b9 3040NAME: digest_generation
3041IFDEF: USE_CACHE_DIGESTS
3042TYPE: onoff
3043LOC: Config.onoff.digest_generation
3044DEFAULT: on
3045DOC_START
3046 This controls whether the server will generate a Cache Digest
3047 of its contents. By default, Cache Digest generation is
3048 enabled if Squid is compiled with USE_CACHE_DIGESTS defined.
7e3ce7b9 3049DOC_END
3050
3051NAME: digest_bits_per_entry
3052IFDEF: USE_CACHE_DIGESTS
3053TYPE: int
3054LOC: Config.digest.bits_per_entry
3055DEFAULT: 5
3056DOC_START
3057 This is the number of bits of the server's Cache Digest which
3058 will be associated with the Digest entry for a given HTTP
3059 Method and URL (public key) combination. The default is 5.
7e3ce7b9 3060DOC_END
3061
3062NAME: digest_rebuild_period
3063IFDEF: USE_CACHE_DIGESTS
efd900cb 3064COMMENT: (seconds)
3065TYPE: time_t
7e3ce7b9 3066LOC: Config.digest.rebuild_period
efd900cb 3067DEFAULT: 1 hour
7e3ce7b9 3068DOC_START
3069 This is the number of seconds between Cache Digest rebuilds.
7e3ce7b9 3070DOC_END
3071
3072NAME: digest_rewrite_period
efd900cb 3073COMMENT: (seconds)
7e3ce7b9 3074IFDEF: USE_CACHE_DIGESTS
efd900cb 3075TYPE: time_t
7e3ce7b9 3076LOC: Config.digest.rewrite_period
efd900cb 3077DEFAULT: 1 hour
7e3ce7b9 3078DOC_START
3079 This is the number of seconds between Cache Digest writes to
6b53c392 3080 disk.
7e3ce7b9 3081DOC_END
3082
3083NAME: digest_swapout_chunk_size
efd900cb 3084COMMENT: (bytes)
3085TYPE: b_size_t
7e3ce7b9 3086IFDEF: USE_CACHE_DIGESTS
7e3ce7b9 3087LOC: Config.digest.swapout_chunk_size
efd900cb 3088DEFAULT: 4096 bytes
7e3ce7b9 3089DOC_START
3090 This is the number of bytes of the Cache Digest to write to
efd900cb 3091 disk at a time. It defaults to 4096 bytes (4KB), the Squid
3092 default swap page.
7e3ce7b9 3093DOC_END
3094
3095NAME: digest_rebuild_chunk_percentage
efd900cb 3096COMMENT: (percent, 0-100)
7e3ce7b9 3097IFDEF: USE_CACHE_DIGESTS
3098TYPE: int
3099LOC: Config.digest.rebuild_chunk_percentage
3100DEFAULT: 10
3101DOC_START
efd900cb 3102 This is the percentage of the Cache Digest to be scanned at a
3103 time. By default it is set to 10% of the Cache Digest.
7e3ce7b9 3104DOC_END
3105
efd900cb 3106NAME: chroot
3107TYPE: string
3108LOC: Config.chroot_dir
3109DEFAULT: none
3110DOC_START
3111 Use this to have Squid do a chroot() while initializing. This
3112 also causes Squid to fully drop root privileges after
3113 initializing. This means, for example, that if you use a HTTP
3114 port less than 1024 and try to reconfigure, you will get an
3115 error.
3116DOC_END
efd900cb 3117
3118NAME: client_persistent_connections
3119TYPE: onoff
3120LOC: Config.onoff.client_pconns
3121DEFAULT: on
3122DOC_NONE
3123
3124NAME: server_persistent_connections
3125TYPE: onoff
3126LOC: Config.onoff.server_pconns
3127DEFAULT: on
3128DOC_START
3129 Persistent connection support for clients and servers. By
3130 default, Squid uses persistent connections (when allowed)
3131 with its clients and servers. You can use these options to
3132 disable persistent connections with clients and/or servers.
efd900cb 3133DOC_END
9d24d603 3134
2b4283e4 3135EOF
7e3ce7b9 3136