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