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