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