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