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