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