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