]> git.ipfire.org Git - thirdparty/squid.git/blame - src/cf.data.pre
update
[thirdparty/squid.git] / src / cf.data.pre
CommitLineData
3a278cb8 1
9cef6668 2#
ec5bba4d 3# $Id: cf.data.pre,v 1.110 1998/09/14 22:29:11 wessels Exp $
9cef6668 4#
5#
6# SQUID Internet Object Cache http://squid.nlanr.net/Squid/
7# ----------------------------------------------------------
8#
9# Squid is the result of efforts by numerous individuals from the
10# Internet community. Development is led by Duane Wessels of the
11# National Laboratory for Applied Network Research and funded by the
12# National Science Foundation. Squid is Copyrighted (C) 1998 by
13# Duane Wessels and the University of California San Diego. Please
14# see the COPYRIGHT file for full details. Squid incorporates
15# software developed and/or copyrighted by other sources. Please see
16# the CREDITS file for full details.
17#
18# This program is free software; you can redistribute it and/or modify
19# it under the terms of the GNU General Public License as published by
20# the Free Software Foundation; either version 2 of the License, or
21# (at your option) any later version.
22#
23# This program is distributed in the hope that it will be useful,
24# but WITHOUT ANY WARRANTY; without even the implied warranty of
25# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26# GNU General Public License for more details.
27#
28# You should have received a copy of the GNU General Public License
29# along with this program; if not, write to the Free Software
30# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
31#
32
0f74202c 33COMMENT_START
34 WELCOME TO SQUID 1.2
35 --------------------
3a278cb8 36
cf5cc17e 37 This is the default Squid configuration file. You may wish
b58b1ad6 38 to look at http://cache.is.co.za/squid/ for documentation,
39 or the Squid home page (http://squid.nlanr.net/) for the FAQ.
3a278cb8 40
0f74202c 41COMMENT_END
3a278cb8 42
0f74202c 43COMMENT_START
3a278cb8 44 NETWORK OPTIONS
45 -----------------------------------------------------------------------------
0f74202c 46COMMENT_END
3a278cb8 47
934b03fc 48NAME: http_port ascii_port
49TYPE: ushortlist
f53b06f9 50DEFAULT: none
51DEFAULT_IF_NONE: 3128
934b03fc 52LOC: Config.Port.http
53DOC_START
cf5cc17e 54 The port number where Squid will listen for HTTP client
934b03fc 55 requests. Default is 3128, for httpd-accel mode use port 80.
56 May be overridden with -a on the command line.
57
58 You may specify multiple ports here, but they MUST all be on
59 a single line.
60
61http_port 3128
62DOC_END
63
64
65NAME: icp_port udp_port
66TYPE: ushort
67DEFAULT: 3130
68LOC: Config.Port.icp
69DOC_START
459f1836 70 The port number where Squid sends and receives ICP requests to
934b03fc 71 and from neighbor caches. Default is 3130. To disable use
72 "0". May be overridden with -u on the command line.
73
74icp_port 3130
75DOC_END
76
459f1836 77NAME: htcp_port
78IFDEF: USE_HTCP
79TYPE: ushort
80DEFAULT: 4827
81LOC: Config.Port.htcp
82DOC_START
83 The port number where Squid sends and receives ICP requests to
84 and from neighbor caches. Default is 4827. To disable use
85 "0".
86
87htcp_port 4827
88DOC_END
89
934b03fc 90
91NAME: mcast_groups
92TYPE: wordlist
93LOC: Config.mcast_group_list
1273d501 94DEFAULT: none
934b03fc 95DOC_START
cf5cc17e 96 This tag specifies a list of multicast groups which your server
97 should join to receive multicasted ICP requests.
934b03fc 98
99 NOTE! Be very careful what you put here! Be sure you
100 understand the difference between an ICP _query_ and an ICP
101 _reply_. This option is to be set only if you want to RECEIVE
102 multicast queries. Do NOT set this option to SEND multicast
a95856a0 103 ICP (use cache_peer for that). ICP replies are always sent via
934b03fc 104 unicast, so this option does not affect whether or not you will
105 receive replies from multicast group members.
106
107 You must be very careful to NOT use a multicast address which
108 is already in use by another group of caches. NLANR has been
109 assigned a block of multicast address space for use in Web
110 Caching. Plese write to us at nlanr-cache@nlanr.net to receive
111 an address for your own use.
112
cf5cc17e 113 If you are unsure about multicast, please read the Multicast
114 chapter in the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/).
115
934b03fc 116 Usage: mcast_groups 239.128.16.128 224.0.1.20
117
cf5cc17e 118 By default, Squid doesn't listen on any multicast groups.
934b03fc 119
120mcast_groups 239.128.16.128
121DOC_END
122
123
124NAME: tcp_incoming_address bind_address
125TYPE: address
126LOC: Config.Addrs.tcp_incoming
270b86af 127DEFAULT: 0.0.0.0
934b03fc 128DOC_NONE
129
130NAME: tcp_outgoing_address outbound_address
131TYPE: address
132LOC: Config.Addrs.tcp_outgoing
270b86af 133DEFAULT: 255.255.255.255
934b03fc 134DOC_NONE
135
136NAME: udp_incoming_address
137TYPE: address
138LOC:Config.Addrs.udp_incoming
270b86af 139DEFAULT: 0.0.0.0
934b03fc 140DOC_NONE
141
142NAME: udp_outgoing_address
143TYPE: address
144LOC: Config.Addrs.udp_outgoing
270b86af 145DEFAULT: 255.255.255.255
934b03fc 146DOC_START
147 Usage: tcp_incoming_address 10.20.30.40
148 udp_outgoing_address fully.qualified.domain.name
149
934b03fc 150 tcp_incoming_address is used for the HTTP socket which accepts
151 connections from clients and other caches.
152 tcp_outgoing_address is used for connections made to remote
153 servers and other caches.
154 udp_incoming_address is used for the ICP socket receiving packets
155 from other caches.
156 udp_outgoing_address is used for ICP packets sent out to other
157 caches.
158
15dcc168 159 The default behaviour is to not bind to any specific address.
934b03fc 160
5a3f6538 161 NOTE, udp_incoming_address and udp_outgoing_address can not
162 have the same value (unless it is 0.0.0.0) since they both use
163 port 3130.
934b03fc 164
165tcp_incoming_address 0.0.0.0
166tcp_outgoing_address 0.0.0.0
167udp_incoming_address 0.0.0.0
168udp_outgoing_address 0.0.0.0
169DOC_END
170
0f74202c 171COMMENT_START
3a278cb8 172 OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
173 -----------------------------------------------------------------------------
0f74202c 174COMMENT_END
934b03fc 175
40a1495e 176NAME: cache_peer
177TYPE: peer
1273d501 178DEFAULT: none
0153d498 179LOC: Config.peers
934b03fc 180DOC_START
181 To specify other caches in a hierarchy, use the format:
182
183 hostname type http_port icp_port
184
d0d41f07 185 For example,
934b03fc 186
187 # proxy icp
188 # hostname type port port options
189 # -------------------- -------- ----- ----- -----------
cf5cc17e 190 cache_peer parent.foo.net parent 3128 3130 [proxy-only]
191 cache_peer sib1.foo.net sibling 3128 3130 [proxy-only]
192 cache_peer sib2.foo.net sibling 3128 3130 [proxy-only]
934b03fc 193
194 type: either 'parent', 'sibling', or 'multicast'.
195
196 proxy_port: The port number where the cache listens for proxy
197 requests.
198
199 icp_port: Used for querying neighbor caches about
200 objects. To have a non-ICP neighbor
201 specify '7' for the ICP port and make sure the
202 neighbor machine has the UDP echo port
203 enabled in its /etc/inetd.conf file.
204
205 options: proxy-only
206 weight=n
207 ttl=n
208 no-query
209 default
210 round-robin
211 multicast-responder
b3264694 212 closest-only
223213df 213 no-netdb-exchange
95e36d02 214 no-delay
934b03fc 215
216 use 'proxy-only' to specify that objects fetched
217 from this cache should not be saved locally.
218
219 use 'weight=n' to specify a weighted parent.
220 The weight must be an integer. The default weight
221 is 1, larger weights are favored more.
222
223 use 'ttl=n' to specify a IP multicast TTL to use
224 when sending an ICP request to this address.
225 Only useful when sending to a multicast group.
226 Because we don't accept ICP replies from random
227 hosts, you must configure other group members as
228 peers with the 'multicast-responder' option below.
229
230 use 'no-query' to NOT send ICP queries to this
231 neighbor.
232
233 use 'default' if this is a parent cache which can
234 be used as a "last-resort." You should probably
235 only use 'default' in situations where you cannot
236 use ICP with your parent cache(s).
237
238 use 'round-robin' to define a set of parents which
239 should be used in a round-robin fashion in the
240 absence of any ICP queries.
241
242 'multicast-responder' indicates that the named peer
243 is a member of a multicast group. ICP queries will
244 not be sent directly to the peer, but ICP replies
245 will be accepted from it.
246
b3264694 247 'closest-only' indicates that, for ICP_OP_MISS
248 replies, we'll only forward CLOSEST_PARENT_MISSes
249 and never FIRST_PARENT_MISSes.
250
223213df 251 'no-netdb-exchange' disables requesting ICMP
252 RTT database (NetDB) from the neighbor.
253
95e36d02 254 use 'no-delay' to prevent access to this neighbor
255 from influencing the delay pools.
256
934b03fc 257 NOTE: non-ICP neighbors must be specified as 'parent'.
258
a95856a0 259cache_peer hostname type 3128 3130
934b03fc 260DOC_END
261
262
af7d912e 263NAME: cache_peer_domain cache_host_domain
934b03fc 264TYPE: hostdomain
f1dc9b30 265DEFAULT: none
266LOC: none
934b03fc 267DOC_START
cf5cc17e 268 Use to limit the domains for which a neighbor cache will be
269 queried. Usage:
934b03fc 270
af7d912e 271 cache_peer_domain cache-host domain [domain ...]
272 cache_peer_domain cache-host !domain
934b03fc 273
274 For example, specifying
275
af7d912e 276 cache_peer_domain parent.foo.net .edu
934b03fc 277
278 has the effect such that UDP query packets are sent to
279 'bigserver' only when the requested object exists on a
280 server in the .edu domain. Prefixing the domainname
281 with '!' means that the cache will be queried for objects
282 NOT in that domain.
283
284 NOTE: * Any number of domains may be given for a cache-host,
285 either on the same or separate lines.
286 * When multiple domains are given for a particular
287 cache-host, the first matched domain is applied.
288 * Cache hosts with no domain restrictions are queried
289 for all requests.
290 * There are no defaults.
3794b2b6 291 * There is also a 'cache_peer_access' tag in the ACL
934b03fc 292 section.
293DOC_END
294
295
296NAME: neighbor_type_domain
297TYPE: hostdomaintype
f1dc9b30 298DEFAULT: none
299LOC: none
934b03fc 300DOC_START
301 usage: neighbor_type_domain parent|sibling domain domain ...
302
303 Modifying the neighbor type for specific domains is now
304 possible. You can treat some domains differently than the the
a95856a0 305 default neighbor type specified on the 'cache_peer' line.
934b03fc 306 Normally it should only be necessary to list domains which
307 should be treated differently because the default neighbor type
308 applies for hostnames which do not match domains listed here.
309
310EXAMPLE:
a95856a0 311 cache_peer parent cache.foo.org 3128 3130
934b03fc 312 neighbor_type_domain cache.foo.org sibling .com .net
313 neighbor_type_domain cache.foo.org sibling .au .de
314DOC_END
315
465dc415 316NAME: icp_query_timeout
317COMMENT: (msec)
318DEFAULT: 0
319TYPE: int
320LOC: Config.Timeout.icp_query
934b03fc 321DOC_START
465dc415 322 Normally Squid will automatically determine an optimal ICP
323 query timeout value based on the round-trip-time of recent ICP
324 queries. If you want to override the value determined by
325 Squid, set this 'icp_query_timeout' to a non-zero value. This
326 value is specified in MILLISECONDS, so, to use a 2-second
327 timeout (the old default), you would write:
934b03fc 328
465dc415 329 icp_query_timeout 2000
330
331icp_query_timeout 0
332DOC_END
333
334NAME: mcast_icp_query_timeout
335COMMENT: (msec)
336DEFAULT: 2000
337TYPE: int
338LOC: Config.Timeout.mcast_icp_query
339DOC_START
340 For Multicast peers, Squid regularly sends out ICP "probes" to
341 count how many other peers are listening on the given multicast
342 address. This value specifies how long Squid should wait to
343 count all the replies. The default is 2000 msec, or 2
344 seconds.
345
346mcast_icp_query_timeout 2000
934b03fc 347DOC_END
348
dc835977 349NAME: dead_peer_timeout
350COMMENT: (seconds)
351DEFAULT: 10 seconds
352TYPE: time_t
353LOC: Config.Timeout.deadPeer
354DOC_START
355 This controls how long Squid waits to declare a peer cache
356 as "dead." If there are no ICP replies received in this
357 amount of time, Squid will declare the peer dead and not
358 expect to receive any further ICP replies. However, it
359 continues to send ICP queries, and will mark the peer as
360 alive upon receipt of the first subsequent ICP reply.
361
362dead_peer_timeout 10 seconds
363DOC_END
364
934b03fc 365
366NAME: hierarchy_stoplist
367TYPE: wordlist
f8d9f54a 368DEFAULT: none
369DEFAULT_IF_NONE: cgi-bin ?
934b03fc 370LOC: Config.hierarchy_stoplist
371DOC_START
372 A list of words which, if found in a URL, cause the object to
373 be handled directly by this cache. In other words, use this
374 to not query neighbor caches for certain objects. You may
375 list this option multiple times.
376
377 The default is to directly fetch URLs containing 'cgi-bin' or '?'.
378
379hierarchy_stoplist cgi-bin ?
380DOC_END
381
382
bd05e3e3 383NAME: no_cache
384TYPE: acl_access
385DEFAULT: none
386LOC: Config.accessList.noCache
934b03fc 387DOC_START
bd05e3e3 388 A list of ACL elements which, if matched, cause the reply to
934b03fc 389 immediately removed from the cache. In other words, use this
bd05e3e3 390 to force certain objects to never be cached.
934b03fc 391
b269cf4e 392 You must use the word 'DENY' to indicate the ACL names which should
393 NOT be cached.
0fdafae7 394
bd05e3e3 395 There is no default. We recommend you uncomment the following
396 two lines.
934b03fc 397
bd05e3e3 398acl QUERY urlpath_regex cgi-bin \?
b269cf4e 399no_cache deny QUERY
934b03fc 400DOC_END
401
934b03fc 402
0f74202c 403COMMENT_START
3a278cb8 404 OPTIONS WHICH AFFECT THE CACHE SIZE
405 -----------------------------------------------------------------------------
0f74202c 406COMMENT_END
934b03fc 407
408NAME: cache_mem
9906e724 409COMMENT: (bytes)
1b635117 410TYPE: b_size_t
9906e724 411DEFAULT: 8 MB
934b03fc 412LOC: Config.Mem.maxSize
413DOC_START
7b2496ca 414 NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS
415 SIZE. IT PLACES A LIMIT ON ONE ASPECT OF SQUID'S MEMORY
416 USAGE. SQUID USES MEMORY FOR OTHER THINGS AS WELL.
417 YOUR PROCESS WILL PROBABLY BECOME TWICE OR THREE TIMES
418 BIGGER THAN THE VALUE YOU PUT HERE
419
420 'cache_mem' specifies the ideal amount of memory to be used
421 for:
422 * In-Transit objects
423 * Hot Objects
424 * Negative-Cached objects
425
426 Data for these objects are stored in 4 KB blocks. This
427 parameter specifies the ideal upper limit on the total size of
428 4 KB blocks allocated. In-Transit objects take the highest
429 priority.
934b03fc 430
431 In-transit objects have priority over the others. When
432 additional space is needed for incoming data, negative-cached
433 and hot objects will be released. In other words, the
434 negative-cached and hot objects will fill up any unused space
435 not needed for in-transit objects.
436
7b2496ca 437 If circumstances require, this limit will be exceeded.
438 Specifically, if your incoming request rate requires more than
439 'cache_mem' of memory to hold in-transit objects, Squid will
440 exceed this limit to satisfy the new requests. When the load
441 decreases, blocks will be freed until the high-water mark is
442 reached. Thereafter, blocks will be used to store hot
443 objects.
444
934b03fc 445 The values of cache_mem_low and cache_mem_high (below) can be
446 used to tune the use of the memory pool. When the high mark is
447 reached, in-transit and hot objects will be released to clear
448 space. When an object transfer is completed, it will remain in
449 memory only if the current memory usage is below the low water
450 mark.
451
452 The default is 8 Megabytes.
453
9906e724 454cache_mem 8 MB
934b03fc 455DOC_END
456
457
458NAME: cache_swap_low
459COMMENT: (percent, 0-100)
460TYPE: int
461DEFAULT: 90
462LOC: Config.Swap.lowWaterMark
463DOC_NONE
464
465NAME: cache_swap_high
466COMMENT: (percent, 0-100)
467TYPE: int
468DEFAULT: 95
469LOC: Config.Swap.highWaterMark
470DOC_START
cf5cc17e 471 The low- and high-water marks for cache LRU replacement. LRU
472 replacement begins when the high-water mark is reached and ends
473 when enough objects have been removed and the low-water mark is
474 reached. Defaults are 90% and 95%. If you have a large cache, 5%
475 could be hundreds of MB. If this is the case you may wish to
476 set these numbers closer together.
934b03fc 477
478cache_swap_low 90
479cache_swap_high 95
480DOC_END
481
482
483NAME: cache_mem_low
484COMMENT: (in percent, 0-100)
485TYPE: int
486DEFAULT: 75
487LOC: Config.Mem.lowWaterMark
488DOC_NONE
489
490NAME: cache_mem_high
491COMMENT: (in percent, 0-100)
492TYPE: int
493DEFAULT: 95
494LOC: Config.Mem.highWaterMark
495DOC_START
496 The low- and high-water mark for cache memory storage. When
497 the amount of RAM used by the hot-object RAM cache reaches this
498 point, the cache starts throwing objects out of the RAM cache
499 (but they remain on disk). Defaults are 75% and 90%.
500
501cache_mem_low 75
502cache_mem_high 90
503DOC_END
504
505
506NAME: maximum_object_size
9e975e4e 507COMMENT: (bytes)
1b635117 508TYPE: b_size_t
9906e724 509DEFAULT: 4096 KB
934b03fc 510LOC: Config.Store.maxObjectSize
511DOC_START
512 Objects larger than this size will NOT be saved on disk. The
cf5cc17e 513 value is specified in kilobytes, and the default is 4MB. If
514 you wish to get a high BYTES hit ratio, you should probably
515 increase this (one 32 MB object hit counts for 3200 10KB
516 hits). If you wish to increase speed more than your want to
517 save bandwidth you should leave this low.
934b03fc 518
9906e724 519maximum_object_size 4096 KB
934b03fc 520DOC_END
521
522
523NAME: ipcache_size
524COMMENT: (number of entries)
525TYPE: int
526DEFAULT: 1024
527LOC: Config.ipcache.size
528DOC_NONE
529
530NAME: ipcache_low
531COMMENT: (percent)
532TYPE: int
533DEFAULT: 90
534LOC: Config.ipcache.low
535DOC_NONE
536
537NAME: ipcache_high
538COMMENT: (percent)
539TYPE: int
540DEFAULT: 95
541LOC: Config.ipcache.high
542DOC_START
543 The size, low-, and high-water marks for the IP cache.
544
545ipcache_size 1024
546ipcache_low 90
547ipcache_high 95
548DOC_END
549
e55650e3 550NAME: fqdncache_size
551COMMENT: (number of entries)
552TYPE: int
553DEFAULT: 1024
554LOC: Config.fqdncache.size
555DOC_START
556 Maximum number of FQDN cache entries.
557fqdncache_size 1024
558DOC_END
559
0f74202c 560COMMENT_START
3a278cb8 561 LOGFILE PATHNAMES AND CACHE DIRECTORIES
562 -----------------------------------------------------------------------------
0f74202c 563COMMENT_END
934b03fc 564
565NAME: cache_dir
566TYPE: cachedir
f1dc9b30 567DEFAULT: none
0108d71f 568DEFAULT_IF_NONE: @DEFAULT_SWAP_DIR@ 100 16 256
f1dc9b30 569LOC: Config.cacheSwap
934b03fc 570DOC_START
cf5cc17e 571 Usage:
572
573 cache_dir Directory-Name Mbytes Level-1 Level2
934b03fc 574
575 You can specify multiple cache_dir lines to spread the
576 cache among different disk partitions.
577
cf5cc17e 578 'Directory' is a top-level directory where cache swap
579 files will be stored. If you want to use an entire disk
580 for caching, then this can be the mount-point directory.
581 The directory must exist and be writable by the Squid
582 process. Squid will NOT create this directory for you.
583
584 If no 'cache_dir' lines are specified, the following
585 default will be used: @DEFAULT_SWAP_DIR@.
586
587 'Mbytes' is the amount of disk space (MB) to use under this
588 directory. The default is 100 MB. Change this to suit your
589 configuration.
590
591 'Level-1' is the number of first-level subdirectories which
592 will be created under the 'Directory'. The default is 16.
593
594 'Level-2' is the number of second-level subdirectories which
595 will be created under each first-level directory. The default
596 is 256.
597
5375428c 598cache_dir @DEFAULT_SWAP_DIR@ 100 16 256
934b03fc 599DOC_END
600
601
602NAME: cache_access_log
603TYPE: string
d0b98f84 604DEFAULT: @DEFAULT_ACCESS_LOG@
934b03fc 605LOC: Config.Log.access
606DOC_START
607 Logs the client request activity. Contains an entry for
608 every HTTP and ICP request received.
609
5375428c 610cache_access_log @DEFAULT_ACCESS_LOG@
934b03fc 611DOC_END
612
613
614NAME: cache_log
615TYPE: string
0153d498 616DEFAULT: @DEFAULT_CACHE_LOG@
934b03fc 617LOC: Config.Log.log
618DOC_START
cf5cc17e 619 Cache logging file. This is where general information about
620 your cache's behaviour goes. You can increase the amount of data
621 logged to this file with the "debug_options" tag below.
934b03fc 622
0153d498 623cache_log @DEFAULT_CACHE_LOG@
934b03fc 624DOC_END
625
626
627NAME: cache_store_log
628TYPE: string
0153d498 629DEFAULT: @DEFAULT_STORE_LOG@
934b03fc 630LOC: Config.Log.store
631DOC_START
632 Logs the activities of the storage manager. Shows which
633 objects are ejected from the cache, and which objects are
cf5cc17e 634 saved and for how long. To disable, enter "none". There are
635 not really utilities to analyse this data, so you can safely
636 disable it.
934b03fc 637
0153d498 638cache_store_log @DEFAULT_STORE_LOG@
934b03fc 639DOC_END
640
641
642NAME: cache_swap_log
643TYPE: string
644LOC: Config.Log.swap
1273d501 645DEFAULT: none
934b03fc 646DOC_START
d0d3ec94 647 Location for the cache "swap.log." This log file holds the
934b03fc 648 metadata of objects saved on disk. It is used to rebuild the
649 cache during startup. Normally this file resides in the first
650 'cache_dir' directory, but you may specify an alternate
651 pathname here. Note you must give a full filename, not just
cf5cc17e 652 a directory. Since this is the index for the whole object
653 list you CANNOT periodically rotate it!
934b03fc 654
655cache_swap_log
656DOC_END
657
658
659NAME: emulate_httpd_log
660COMMENT: on|off
661TYPE: onoff
f1dc9b30 662DEFAULT: off
17a0a4ee 663LOC: Config.onoff.common_log
934b03fc 664DOC_START
665 The Cache can emulate the log file format which many 'httpd'
666 programs use. To disable/enable this emulation, set
667 emulate_httpd_log to 'off' or 'on'. The default
cf5cc17e 668 is to use the native log format since it includes useful
669 information that Squid-specific log analysers use.
934b03fc 670
671emulate_httpd_log off
672DOC_END
673
674
675NAME: mime_table
f0b19334 676TYPE: string
0153d498 677DEFAULT: @DEFAULT_MIME_TABLE@
934b03fc 678LOC: Config.mimeTablePathname
679DOC_START
cf5cc17e 680 Pathname to Squid's MIME table. You shouldn't need to change
681 this, but the default file contains examples and formatting
682 information if you do.
934b03fc 683
0153d498 684mime_table @DEFAULT_MIME_TABLE@
934b03fc 685DOC_END
686
687
688NAME: log_mime_hdrs
689COMMENT: on|off
690TYPE: onoff
17a0a4ee 691LOC: Config.onoff.log_mime_hdrs
f1dc9b30 692DEFAULT: off
934b03fc 693DOC_START
cf5cc17e 694 The Cache can record both the request and the response MIME
695 headers for each HTTP transaction. The headers are encoded
696 safely and will appear as two bracketed fields at the end of
697 the access log (for either the native or httpd-emulated log
698 formats). To enable this logging set log_mime_hdrs to 'on'.
934b03fc 699
700log_mime_hdrs off
701DOC_END
702
703
704NAME: useragent_log
705TYPE: string
706LOC: Config.Log.useragent
f1dc9b30 707DEFAULT: none
934b03fc 708DOC_START
cf5cc17e 709 If configured with the "--enable-useragent_log" configure
710 option, Squid will write the User-Agent field from HTTP
711 requests to the filename specified here. By default
712 useragent_log is disabled.
934b03fc 713
714useragent_log none
715DOC_END
716
717
718NAME: pid_filename
719TYPE: string
0153d498 720DEFAULT: @DEFAULT_PID_FILE@
934b03fc 721LOC: Config.pidFilename
722DOC_START
d0d41f07 723 A filename to write the process-id to. To disable, enter "none".
934b03fc 724
0153d498 725pid_filename @DEFAULT_PID_FILE@
934b03fc 726DOC_END
727
728
729NAME: debug_options
f1dc9b30 730TYPE: eol
934b03fc 731DEFAULT: ALL,1
732LOC: Config.debugOptions
733DOC_START
734 Logging options are set as section,level where each source file
735 is assigned a unique section. Lower levels result in less
736 output, Full debugging (level 9) can result in a very large
737 log file, so be careful. The magic word "ALL" sets debugging
738 levels for all sections. We recommend normally running with
739 "ALL,1".
740
741debug_options ALL,1
742DOC_END
743
744
745NAME: ident_lookup
746COMMENT: on|off
747TYPE: onoff
f1dc9b30 748DEFAULT: off
17a0a4ee 749LOC: Config.onoff.ident_lookup
934b03fc 750DOC_START
cf5cc17e 751 If you wish to make an RFC931/ident lookup of the client
752 username for each connection, enable this. It is off by
753 default.
934b03fc 754
755ident_lookup off
756DOC_END
757
758
759NAME: log_fqdn
760COMMENT: on|off
761TYPE: onoff
f1dc9b30 762DEFAULT: off
17a0a4ee 763LOC: Config.onoff.log_fqdn
934b03fc 764DOC_START
765 Turn this on if you wish to log fully qualified domain names
cf5cc17e 766 in the access.log. To do this Squid does a DNS lookup of all
767 IP's connecting to it. This can (in some situations) increase
768 latency, which makes your cache seem slower for interactive
769 browsing.
934b03fc 770
771log_fqdn off
772DOC_END
773
774
775NAME: client_netmask
776TYPE: address
777LOC: Config.Addrs.client_netmask
f1dc9b30 778DEFAULT: 255.255.255.255
934b03fc 779DOC_START
780 A netmask for client addresses in logfiles and cachemgr output.
781 Change this to protect the privacy of your cache clients.
cf5cc17e 782 A netmask of 255.255.255.0 will log all IP's in that range with
783 the last digit set to '0'.
934b03fc 784
785client_netmask 255.255.255.255
786DOC_END
787
788
0f74202c 789COMMENT_START
3a278cb8 790 OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
791 -----------------------------------------------------------------------------
0f74202c 792COMMENT_END
934b03fc 793
934b03fc 794NAME: ftp_user
795TYPE: string
cf5cc17e 796DEFAULT: Squid@
934b03fc 797LOC: Config.Ftp.anon_user
798DOC_START
799 If you want the anonymous login password to be more informative
800 (and enable the use of picky ftp servers), set this to something
801 resonable for your domain, like wwwuser@somewhere.net
802
803 The reason why this is domainless by default is that the
804 request can be made on the behalf of a user in any domain,
805 depending on how the cache is used.
806 Some ftp server also validate that the email address is valid
807 (for example perl.com).
808
cf5cc17e 809ftp_user Squid@
934b03fc 810DOC_END
811
365cb147 812NAME: ftp_list_width
1b635117 813TYPE: size_t
365cb147 814DEFAULT: 32
815LOC: Config.Ftp.list_width
816DOC_START
cf5cc17e 817 Sets the width of ftp listings. This should be set to fit in
818 the width of a standard browser. Setting this too small
819 can cut off long filenames when browsing ftp sites.
820
365cb147 821ftp_list_width 32
822DOC_END
823
934b03fc 824NAME: cache_dns_program
f0b19334 825TYPE: string
0153d498 826DEFAULT: @DEFAULT_DNSSERVER@
934b03fc 827LOC: Config.Program.dnsserver
828DOC_START
829 Specify the location of the executable for dnslookup process.
830
0153d498 831cache_dns_program @DEFAULT_DNSSERVER@
934b03fc 832DOC_END
833
934b03fc 834NAME: dns_children
835TYPE: int
836DEFAULT: 5
837LOC: Config.dnsChildren
838DOC_START
839 The number of processes spawn to service DNS name lookups.
840 For heavily loaded caches on large servers, you should
841 probably increase this value to at least 10. The maximum
842 is 32. The default is 5.
843
844 To disable dnsservers, set this to 0. NOTE, this is very
845 strongly discouraged. If you disable dnsservers your Squid
846 process will BLOCK on DNS lookups!
847
848dns_children 5
849DOC_END
850
851
852NAME: dns_defnames
853COMMENT: on|off
854TYPE: onoff
f1dc9b30 855DEFAULT: off
17a0a4ee 856LOC: Config.onoff.res_defnames
934b03fc 857DOC_START
858 Normally the 'dnsserver' disables the RES_DEFNAMES resolver
859 option (see res_init(3)). This prevents caches in a hierarchy
860 from interpreting single-component hostnames locally. To allow
861 dnsserver to handle single-component names, enable this
862 option.
863
864dns_defnames off
865DOC_END
866
09c483ec 867NAME: dns_nameservers
868TYPE: wordlist
869DEFAULT: none
870LOC: Config.dns_nameservers
871DOC_START
872 Use this if you want to specify a list of DNS name servers
873 (IP addresses) to use instead of those given in your
874 /etc/resolv.conf file.
875
876 Example: dns_nameservers 10.0.0.1 192.172.0.4
877
878dns_nameservers none
879DOC_END
880
934b03fc 881
882NAME: unlinkd_program
f0b19334 883TYPE: string
0153d498 884DEFAULT: @DEFAULT_UNLINKD@
934b03fc 885LOC: Config.Program.unlinkd
886DOC_START
887 Specify the location of the executable for file deletion process.
cf5cc17e 888 This isn't needed if you are using async-io since it's handled by
889 a thread.
934b03fc 890
0153d498 891unlinkd_program @DEFAULT_UNLINKD@
934b03fc 892DOC_END
893
894
895NAME: pinger_program
a95856a0 896TYPE: string
0153d498 897DEFAULT: @DEFAULT_PINGER@
934b03fc 898LOC: Config.Program.pinger
899DOC_START
900 Specify the location of the executable for the pinger process.
cf5cc17e 901 This is only useful if you configured Squid (during compliation)
902 with the '--enable-icmp' option.
934b03fc 903
0153d498 904pinger_program @DEFAULT_PINGER@
934b03fc 905DOC_END
906
907
908NAME: redirect_program
f0b19334 909TYPE: string
934b03fc 910LOC: Config.Program.redirect
62607543 911DEFAULT: none
934b03fc 912DOC_START
913 Specify the location of the executable for the URL redirector.
cf5cc17e 914 Since they can perform almost any function there isn't one included.
915 See the Release-Notes for information on how to write one.
916 By default, a redirector is not used.
934b03fc 917
f0b19334 918redirect_program none
934b03fc 919DOC_END
920
921
922NAME: redirect_children
923TYPE: int
924DEFAULT: 5
925LOC: Config.redirectChildren
926DOC_START
cf5cc17e 927 The number of redirector processes to spawn. If you start
928 too few Squid will have to wait for them to process a backlog of
929 URLs, slowing it down. If you start too many they will use RAM
930 and other system resources.
934b03fc 931
932redirect_children 5
933DOC_END
934
73e67ee0 935NAME: authenticate_program
6c20b822 936TYPE: wordlist
73e67ee0 937LOC: Config.Program.authenticate
938DEFAULT: none
939DOC_START
6c20b822 940 Specify the command for the external authenticator. Such a
941 program reads a line containing "username password" and replies
942 "OK" or "ERR" in an endless loop. If you use an authenticator,
943 make sure you have 1 acl of type proxy_auth. By default, the
944 authenticator_program is not used.
73e67ee0 945
6c20b822 946 If you want to use the traditional proxy authentication,
947 jump over to the ../auth_modules/NCSA directory and
948 type:
949 % make
950 % make install
73e67ee0 951
6c20b822 952 Then, set this line to something like
73e67ee0 953
6c20b822 954 authenticate_program @DEFAULT_PREFIX@/bin/ncsa_auth @DEFAULT_PREFIX@/etc/passwd
73e67ee0 955
6c20b822 956authenticate_program none
73e67ee0 957DOC_END
958
73e67ee0 959NAME: authenticate_children
960TYPE: int
961DEFAULT: 5
962LOC: Config.authenticateChildren
963DOC_START
964 The number of authenticator processes to spawn (default 5). If you
965 start too few Squid will have to wait for them to process a backlog
966 of usercode/password verifications, slowing it down. When password
967 verifications are done via a (slow) network you are likely to need
968 lots of authenticator processes.
969
970authenticate_children 5
971DOC_END
972
0f74202c 973COMMENT_START
3a278cb8 974 OPTIONS FOR TUNING THE CACHE
975 -----------------------------------------------------------------------------
0f74202c 976COMMENT_END
934b03fc 977
0153d498 978NAME: wais_relay_host
979TYPE: string
1273d501 980DEFAULT: none
0153d498 981LOC: Config.Wais.relayHost
982DOC_NONE
934b03fc 983
0153d498 984NAME: wais_relay_port
985TYPE: ushort
986DEFAULT: 0
987LOC: Config.Wais.relayPort
934b03fc 988DOC_START
989 Relay WAIS request to host (1st arg) at port (2 arg).
990
0153d498 991wais_relay_host localhost
992wais_relay_port 8000
934b03fc 993DOC_END
994
995
996NAME: request_size
9906e724 997COMMENT: (KB)
518da0bd 998TYPE: b_size_t
9906e724 999DEFAULT: 100 KB
934b03fc 1000LOC: Config.maxRequestSize
1001DOC_START
1002 Maximum allowed request size in kilobytes. If people are using
1003 POST to upload files, then set this to the largest acceptable
1004 filesize plus a few extra kbytes.
1005
9906e724 1006request_size 100 KB
934b03fc 1007DOC_END
1008
1009
1010NAME: refresh_pattern
934b03fc 1011TYPE: refreshpattern
f1dc9b30 1012LOC: Config.Refresh
1273d501 1013DEFAULT: none
934b03fc 1014DOC_START
1dfa1d81 1015 usage: refresh_pattern regex min percent max [options]
934b03fc 1016
1017 min and max are specified in MINUTES.
1018 percent is an integer number.
1019
1dfa1d81 1020 options: override-expire
1021 override-lastmod
cbe3a719 1022 reload-into-ims
1023 ignore-reload
1dfa1d81 1024
1025 override-expire enforces min age even if the server
cbe3a719 1026 sent a Expires: header. Doing this VIOLATES the HTTP
1027 standard. Enabling this feature could make you liable
1028 for problems which it causes.
1dfa1d81 1029
1030 override-lastmod enforces min age even on objects
1031 that was modified recently.
cbe3a719 1032
1033 reload-into-ims changes client no-cache or ``reload''
1034 to If-Modified-Since requests. Doing this VIOLATES the
1035 HTTP standard. Enabling this feature could make you
1036 liable for problems which it causes.
1037
1038 ignore-reload ignores a client no-cache or ``reload''
1039 header. Doing this VIOLATES the HTTP standard. Enabling
1040 this feature could make you liable for problems which
1041 it causes.
1dfa1d81 1042
934b03fc 1043 Please see the file doc/Release-Notes-1.1.txt for a full
1044 description of Squid's refresh algorithm. Basically a
1dfa1d81 1045 cached object is: (the order is changed from 1.1.X)
934b03fc 1046
934b03fc 1047 STALE if age > max
1dfa1d81 1048 FRESH if expires < now, else STALE
1049 FRESH if lm-factor < percent, else STALE
1050 FRESH if age < min
1051 else STALE
934b03fc 1052
1053 The refresh_pattern lines are checked in the order listed here.
1054 The first entry which matches is used. If none of the entries
1055 match, then the default will be used.
1056
1057Default:
1058refresh_pattern . 0 20% 4320
1059DOC_END
1060
1061
1062NAME: reference_age
f1dc9b30 1063TYPE: time_t
934b03fc 1064LOC: Config.referenceAge
f1dc9b30 1065DEFAULT: 1 year
934b03fc 1066DOC_START
1067 As a part of normal operation, Squid performs Least Recently
1068 Used removal of cached objects. The LRU age for removal is
1069 computed dynamically, based on the amount of disk space in
6778c757 1070 use. The dynamic value can be seen in the Cache Manager 'info'
1071 output.
1072
1073 The 'reference_age' parameter defines the maximum LRU age. For
1074 example, setting reference_age to '1 week' will cause objects
1075 to be removed if they have not been accessed for a week or
1076 more. The default value is one month.
934b03fc 1077
1078 Specify a number here, followed by units of time. For example:
1079 1 week
1080 3.5 days
1081 4 months
1082 2.2 hours
1083
f1dc9b30 1084reference_age 1 month
934b03fc 1085DOC_END
1086
1087
0153d498 1088NAME: quick_abort_min
9906e724 1089COMMENT: (KB)
1090TYPE: kb_size_t
9e975e4e 1091DEFAULT: -1 kb
0153d498 1092LOC: Config.quickAbort.min
1093DOC_NONE
1094
1095NAME: quick_abort_pct
1096COMMENT: (percent)
1097TYPE: int
1098DEFAULT: 0
1099LOC: Config.quickAbort.pct
1100DOC_NONE
1101
1102NAME: quick_abort_max
9906e724 1103COMMENT: (KB)
1104TYPE: kb_size_t
9e975e4e 1105DEFAULT: 0 kb
0153d498 1106LOC: Config.quickAbort.max
934b03fc 1107DOC_START
cf5cc17e 1108 The cache can be configured to continue downloading aborted
1109 requests. This may be undesirable on slow (e.g. SLIP) links
1110 and/or very busy caches. Impatient users may tie up file
1111 descriptors and bandwidth by repeatedly requesting and
1112 immediately aborting downloads.
934b03fc 1113
1114 When the user aborts a request, Squid will check the
1115 quick_abort values to the amount of data transfered until
1116 then.
1117
cf5cc17e 1118 If the transfer has less than 'quick_abort_min' KB remaining,
1119 it will finish the retrieval. Setting 'quick_abort_min' to -1
1120 will disable the quick_abort feature.
934b03fc 1121
cf5cc17e 1122 If more than 'quick_abort_pct' of the transfer has completed,
1123 it will finish the retrieval.
934b03fc 1124
cf5cc17e 1125 If the transfer has more than 'quick_abort_max' KB remaining,
1126 it will abort the retrieval.
934b03fc 1127
cf5cc17e 1128quick_abort_min -1 KB
0153d498 1129quick_abort_pct 0
cf5cc17e 1130quick_abort_max 0 KB
934b03fc 1131DOC_END
1132
1133
1134NAME: negative_ttl
bc0eb004 1135COMMENT: time-units
f1dc9b30 1136TYPE: time_t
934b03fc 1137LOC: Config.negativeTtl
9e975e4e 1138DEFAULT: 5 minutes
934b03fc 1139DOC_START
1140 Time-to-Live (TTL) for failed requests. Certain types of
1141 failures (such as "connection refused" and "404 Not Found") are
cf5cc17e 1142 negatively-cached for a configurable amount of time. The
1143 default is 5 minutes. Note that this is different from
1144 negative caching of DNS lookups.
934b03fc 1145
1146negative_ttl 5 minutes
1147DOC_END
1148
1149
1150NAME: positive_dns_ttl
bc0eb004 1151COMMENT: time-units
f1dc9b30 1152TYPE: time_t
934b03fc 1153LOC: Config.positiveDnsTtl
9e975e4e 1154DEFAULT: 6 hours
934b03fc 1155DOC_START
1156 Time-to-Live (TTL) for positive caching of successful DNS lookups.
1157 Default is 6 hours (360 minutes). If you want to minimize the
1158 use of Squid's ipcache, set this to 1, not 0.
1159
9e975e4e 1160positive_dns_ttl 6 hours
934b03fc 1161DOC_END
1162
1163
1164NAME: negative_dns_ttl
bc0eb004 1165COMMENT: time-units
f1dc9b30 1166TYPE: time_t
934b03fc 1167LOC: Config.negativeDnsTtl
9e975e4e 1168DEFAULT: 5 minutes
934b03fc 1169DOC_START
1170 Time-to-Live (TTL) for negative caching of failed DNS lookups.
1171
1172negative_dns_ttl 5 minutes
1173DOC_END
1174
0f74202c 1175COMMENT_START
3a278cb8 1176 TIMEOUTS
1177 -----------------------------------------------------------------------------
0f74202c 1178COMMENT_END
934b03fc 1179
1180NAME: connect_timeout
bc0eb004 1181COMMENT: time-units
f1dc9b30 1182TYPE: time_t
934b03fc 1183LOC: Config.Timeout.connect
9e975e4e 1184DEFAULT: 2 minutes
934b03fc 1185DOC_START
1186 Some systems (notably Linux) can not be relied upon to properly
cf5cc17e 1187 time out connect(2) requests. Therefore the Squid process
934b03fc 1188 enforces its own timeout on server connections. This parameter
1189 specifies how long to wait for the connect to complete. The
1190 default is two minutes (120 seconds).
1191
1192connect_timeout 120 seconds
1193DOC_END
1194
23d92c64 1195NAME: siteselect_timeout
1196COMMENT: time-units
1197TYPE: time_t
1198LOC: Config.Timeout.siteSelect
1199DEFAULT: 4 seconds
1200DOC_START
1201 For URN to multiple URL's URL selection
1202
1203siteselect_timeout 4 seconds
1204DOC_END
934b03fc 1205
1206NAME: read_timeout
bc0eb004 1207COMMENT: time-units
f1dc9b30 1208TYPE: time_t
934b03fc 1209LOC: Config.Timeout.read
9e975e4e 1210DEFAULT: 15 minutes
934b03fc 1211DOC_START
1212 The read_timeout is applied on server-side connections. After
1213 each successful read(), the timeout will be extended by this
1214 amount. If no data is read again after this amount of time,
1215 the request is aborted and logged with ERR_READ_TIMEOUT. The
1216 default is 15 minutes.
1217
1218read_timeout 15 minutes
1219DOC_END
1220
1221
934b03fc 1222NAME: request_timeout
f1dc9b30 1223TYPE: time_t
934b03fc 1224LOC: Config.Timeout.request
9e975e4e 1225DEFAULT: 30 seconds
934b03fc 1226DOC_START
1227 How long to wait for an HTTP request after connection
1228 establishment. For persistent connections, wait this long
1229 after the previous request completes.
1230
0fbcf3c7 1231request_timeout 30 seconds
934b03fc 1232DOC_END
1233
1234
1235NAME: client_lifetime
bc0eb004 1236COMMENT: time-units
f1dc9b30 1237TYPE: time_t
934b03fc 1238LOC: Config.Timeout.lifetime
9e975e4e 1239DEFAULT: 1 day
934b03fc 1240DOC_START
1241 The maximum amount of time that a client (browser) is allowed to
1242 remain connected to the cache process. This protects the Cache
1243 from having alot of sockets (and hence file descriptors) tied up
1244 in a CLOSE_WAIT state from remote clients that go away without
1245 properly shutting down (either because of a network failure or
1246 because of a poor client implementation). The default is one
1247 day, 1440 minutes.
1248
1249 NOTE: The default value is intended to be much larger than any
1250 client would ever need to be connected to your cache. You
1251 should probably change client_lifetime only as a last resort.
1252 If you seem to have many client connections tying up
1253 filedescriptors, we recommend first tuning the read_timeout,
0fbcf3c7 1254 request_timeout, pconn_timeout and quick_abort values.
934b03fc 1255
1256client_lifetime 1 day
1257DOC_END
1258
ea285003 1259NAME: half_closed_clients
1260TYPE: onoff
1261LOC: Config.onoff.half_closed_clients
1262DEFAULT: on
1263DOC_START
1264 Some clients may shutdown the sending side of their TCP
1265 connections, while leaving their receiving sides open. Sometimes,
1266 Squid can not tell the difference between a half-closed and a
1267 fully-closed TCP connection. By default, half-closed client
1268 connections are kept open until a read(2) or write(2) on the
1269 socket returns an error. Change this option to 'off' and Squid
1270 will immediately close client connections when read(2) returns
1271 "no more data to read."
1272
1273half_closed_clients on
1274DOC_END
1275
603a02fd 1276NAME: pconn_timeout
1277TYPE: time_t
1278LOC: Config.Timeout.pconn
1279DEFAULT: 120 seconds
1280DOC_START
1281 Timeout for idle persistent connections to servers and other
1282 proxies.
1283pconn_timeout 120 seconds
1284DOC_END
1285
934b03fc 1286
1287NAME: shutdown_lifetime
bc0eb004 1288COMMENT: time-units
f1dc9b30 1289TYPE: time_t
934b03fc 1290LOC: Config.shutdownLifetime
9e975e4e 1291DEFAULT: 30 seconds
934b03fc 1292DOC_START
1293 When SIGTERM or SIGHUP is received, the cache is put into
1294 "shutdown pending" mode until all active sockets are closed.
1295 This value is the lifetime to set for all open descriptors
1296 during shutdown mode. Any active clients after this many
1297 seconds will receive a 'timeout' message.
1298
1299shutdown_lifetime 30 seconds
1300DOC_END
1301
0f74202c 1302COMMENT_START
3a278cb8 1303 ACCESS CONTROLS
1304 -----------------------------------------------------------------------------
0f74202c 1305COMMENT_END
934b03fc 1306
1307NAME: acl
1308TYPE: acl
f1dc9b30 1309LOC: Config.aclList
1310DEFAULT: none
934b03fc 1311DOC_START
1312 Defining an Access List
1313
1314 acl aclname acltype string1 ...
1315 acl aclname acltype "file" ...
1316
1317 when using "file", the file should contain one item per line
1318
1319 acltype is one of src dst srcdomain dstdomain url_pattern
1320 urlpath_pattern time port proto method browser user
1321
1322 acl aclname src ip-address/netmask ... (clients IP address)
1323 acl aclname src addr1-addr2/netmask ... (range of addresses)
1324 acl aclname dst ip-address/netmask ... (URL host's IP address)
d0d41f07 1325
1326 acl aclname srcdomain foo.com ... # reverse lookup, client IP
1327 acl aclname dstdomain foo.com ... # Destination server from URL
1328 acl aclname srcdom_regex xxx ... # regex matching client name
1329 acl aclname dstdom_regex xxx ... # regex matching server
1330 # For dstdomain and dstdom_regex a reverse lookup is tried if a IP
1331 # based URL is used. The name "none" is used if the reverse lookup
1332 # fails.
1333
934b03fc 1334 acl aclname time [day-abbrevs] [h1:m1-h2:m2]
1335 day-abbrevs:
1336 S - Sunday
1337 M - Monday
1338 T - Tuesday
1339 W - Wednesday
1340 H - Thursday
1341 F - Friday
1342 A - Saturday
1343 h1:m1 must be less than h2:m2
1344 acl aclname url_regex ^http:// ... # regex matching on whole URL
d0d41f07 1345 acl aclname urlpath_regex \.gif$ ... # regex matching on URL path
934b03fc 1346 acl aclname port 80 70 21 ...
ec5bba4d 1347 acl aclname port 0-1024 ... # ranges allowed
934b03fc 1348 acl aclname proto HTTP FTP ...
1349 acl aclname method GET POST ...
1350 acl aclname browser regexp
1351 acl aclname user username ... # string match on ident output.
1352 # use REQUIRED to accept any
1353 # non-null ident.
6468fe10 1354 acl aclname src_as number ...
1355 acl aclname dst_as number ...
1356 # Except for access control, AS numbers can be used for
1357 # routing of requests to specific caches. Here's an
1358 # example for routing all requests for AS#1241 and only
1359 # those to mycache.mydomain.net:
1360 # acl asexample dst_as 1241
3794b2b6 1361 # cache_peer_access allow mycache.mydomain.net asexample
1362 # cache_peer_access deny mycache_mydomain.net all
6468fe10 1363
73e67ee0 1364 acl aclname proxy_auth [ refresh ]
1365 # Use an EXTERNAL authentication program to check username/password
1366 # combinations (see authenticate_program).
1367 #
1368 # 'timeout' is the time a checked username/password combination
1369 # remains cached (default = 3600 secs). If a wrong password
1370 # is given for a cached user, the user gets removed from the
1371 # username/password cache forcing a revalidation.
1372 #
1373 # When using a proxy_auth ACL in an http_access rule, make sure
1374 # it is the *last* in the list and the only proxy_auth ACL in
1375 # the list.
1376 #
1377 # NOTE: when a Proxy-Authentication header is sent but it is not
1378 # needed during ACL checking the username is NOT logged
1379 # in access.log.
934b03fc 1380
1381acl manager proto cache_object
1382acl localhost src 127.0.0.1/255.255.255.255
1383acl all src 0.0.0.0/0.0.0.0
6468fe10 1384acl myexample dst_as 1241
934b03fc 1385acl SSL_ports port 443 563
1386acl Dangerous_ports port 7 9 19
1387acl CONNECT method CONNECT
73e67ee0 1388acl password proxy_auth 300
934b03fc 1389DOC_END
1390
1391NAME: http_access
1392TYPE: acl_access
f1dc9b30 1393LOC: Config.accessList.http
1394DEFAULT: none
934b03fc 1395DOC_START
1396 Allowing or Denying access based on defined access lists
1397
1398 Access to the HTTP port:
1399 http_access allow|deny [!]aclname ...
1400
1401 Access to the ICP port:
1402 icp_access allow|deny [!]aclname ...
1403
1404 NOTE on default values:
1405
1406 If there are no "access" lines present, the default is to allow
1407 the request.
1408
1409 If none of the "access" lines cause a match, the default is the
1410 opposite of the last line in the list. If the last line was
1411 deny, then the default is allow. Conversely, if the last line
1412 is allow, the default will be deny. For these reasons, it is a
1413 good idea to have an "deny all" or "allow all" entry at the end
1414 of your access lists to avoid potential confusion.
1415
1416
1417 Only allow access to the cache manager functions from the local host.
1418http_access deny manager !localhost
1419http_access deny CONNECT !SSL_ports
1420http_access deny Dangerous_ports
1421
1422 Allow everything else
1423http_access allow all
1424DOC_END
1425
1426
1427NAME: icp_access
1428TYPE: acl_access
f1dc9b30 1429LOC: Config.accessList.icp
1430DEFAULT: none
934b03fc 1431DOC_START
1432 Reply to all ICP queries we receive
1433
1434icp_access allow all
1435DOC_END
1436
1437
1438NAME: miss_access
1439TYPE: acl_access
f1dc9b30 1440LOC: Config.accessList.miss
1441DEFAULT: none
934b03fc 1442DOC_START
1443 Use to force your neighbors to use you as a sibling instead of
1444 a parent. For example:
1445
1446 acl localclients src 172.16.0.0/16
1447 miss_access allow localclients
1448 miss_access deny !localclients
1449
1450 This means that only your local clients are allowed to fetch
1451 MISSES and all other clients can only fetch HITS.
1452
1453 By default, allow all clients who passed the http_access rules
1454 to fetch MISSES from us.
1455
1456miss_access allow all
1457DOC_END
1458
1459
505e35db 1460NAME: cache_peer_access
1461TYPE: peer_access
f1dc9b30 1462DEFAULT: none
1463LOC: none
934b03fc 1464DOC_START
505e35db 1465 Similar to 'cache_peer_domain' but provides more flexibility by
1466 using ACL elements.
934b03fc 1467
505e35db 1468 cache_peer_access cache-host allow|deny [!]aclname ...
934b03fc 1469
505e35db 1470 The syntax is identical to 'http_access' and the other lists of
1471 ACL elements. See the comments for 'http_access' below, or
1472 the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/FAQ-10.html).
934b03fc 1473DOC_END
1474
f715bd3a 1475NAME: proxy_auth_realm
1476TYPE: eol
1477DEFAULT: Squid proxy-caching web server
1478LOC: Config.proxyAuthRealm
1479DOC_START
1480 Specifies the realm name which is to be reported to the client for
1481 proxy authentication (part of the text the user will see when
1482 prompted their username and password).
1483
1484proxy_auth_realm Squid proxy-caching web server
1485DOC_END
1486
1487
0f74202c 1488COMMENT_START
3a278cb8 1489 ADMINISTRATIVE PARAMETERS
1490 -----------------------------------------------------------------------------
0f74202c 1491COMMENT_END
934b03fc 1492
1493NAME: cache_mgr
1494TYPE: string
1495DEFAULT: webmaster
1496LOC: Config.adminEmail
1497DOC_START
1498 Email-address of local cache manager who will receive
1499 mail if the cache dies. The default is "webmaster."
1500
1501cache_mgr webmaster
1502DOC_END
1503
1504
1505NAME: cache_effective_user
0153d498 1506TYPE: string
a95856a0 1507DEFAULT: nobody
0153d498 1508LOC: Config.effectiveUser
1509DOC_NONE
1510
1511NAME: cache_effective_group
1512TYPE: string
a95856a0 1513DEFAULT: nogroup
0153d498 1514LOC: Config.effectiveGroup
934b03fc 1515DOC_START
5a3f6538 1516
934b03fc 1517 If the cache is run as root, it will change its effective/real
5a3f6538 1518 UID/GID to the UID/GID specified below. The default is to
1519 change to UID to nobody and GID to nogroup.
1520
1521 If Squid is not started as root, the default is to keep the
1522 current UID/GID. Note that if Squid is not started as root then
1523 you cannot set http_port to a value lower than 1024.
934b03fc 1524
0153d498 1525cache_effective_user nobody
1526cache_effective_group nogroup
934b03fc 1527DOC_END
1528
1529
1530NAME: visible_hostname
1531TYPE: string
1532LOC: Config.visibleHostname
f1dc9b30 1533DEFAULT: none
934b03fc 1534DOC_START
1535 If you want to present a special hostname in error messages, etc,
1536 then define this. Otherwise, the return value of gethostname()
cf5cc17e 1537 will be used. If you have multiple caches in a cluster and
1538 get errors about IP-forwarding you must set them to have individual
1539 names with this setting.
934b03fc 1540
1541visible_hostname www-cache.foo.org
1542DOC_END
1543
98829f69 1544
1545NAME: unique_hostname
1546TYPE: string
1547LOC: Config.uniqueHostname
1548DEFAULT: none
1549DOC_START
1550 If you want to have multiple machines with the same
1551 'visible_hostname' then you must give each machine a different
1552 'unique_hostname' so that forwarding loops can be detected.
1553
1554unique_hostname www-cache1.foo.org
1555DOC_END
1556
0f74202c 1557COMMENT_START
3a278cb8 1558 OPTIONS FOR THE CACHE REGISTRATION SERVICE
1559 -----------------------------------------------------------------------------
934b03fc 1560
3a278cb8 1561 This section contains parameters for the (optional) cache
1562 announcement service. This service is provided to help
1563 cache administrators locate one another in order to join or
1564 create cache hierarchies.
934b03fc 1565
3a278cb8 1566 An 'announcement' message is sent (via UDP) to the registration
1567 service by Squid. By default, the annoucement message is NOT
d2d631ce 1568 SENT unless you enable it with 'announce_period' below.
3a278cb8 1569
1570 The announcement message includes your hostname, plus the
1571 following information from this configuration file:
934b03fc 1572
3a278cb8 1573 http_port
1574 icp_port
1575 cache_mgr
1576
1577 All current information is processed regularly and made
d2d631ce 1578 available on the Web at http://ircache.nlanr.net/Cache/Tracker/.
0f74202c 1579COMMENT_END
934b03fc 1580
f1dc9b30 1581NAME: announce_period
1582TYPE: time_t
1583LOC: Config.Announce.period
d2d631ce 1584DEFAULT: 0
934b03fc 1585DOC_START
d2d631ce 1586 This is how frequently to send cache announcements. The
1587 default is `0' which disables sending the announcement
1588 messages.
934b03fc 1589
d2d631ce 1590 To enable announcing your cache, just uncomment the line
1591 below.
934b03fc 1592
9e975e4e 1593announce_period 1 day
934b03fc 1594DOC_END
1595
1596
f1dc9b30 1597NAME: announce_host
1598TYPE: string
61735fcf 1599DEFAULT: tracker.ircache.net
f1dc9b30 1600LOC: Config.Announce.host
1601DOC_NONE
1602
cf5cc17e 1603NAME: announce_file
1604TYPE: string
61735fcf 1605DEFAULT: none
cf5cc17e 1606LOC: Config.Announce.file
1607DOC_NONE
1608
f1dc9b30 1609NAME: announce_port
1610TYPE: ushort
1611DEFAULT: 3131
1612LOC: Config.Announce.port
934b03fc 1613DOC_START
d2d631ce 1614 announce_host and announce_port set the hostname and port
1615 number where the registration message will be sent.
934b03fc 1616
d2d631ce 1617 Hostname will default to 'tracker.ircache.net' and port will
1618 default default to 3131. If the 'filename' argument is given,
1619 the contents of that file will be included in the announce
1620 message.
934b03fc 1621
61735fcf 1622announce_host tracker.ircache.net
f1dc9b30 1623announce_port 3131
934b03fc 1624DOC_END
1625
0f74202c 1626COMMENT_START
3a278cb8 1627 HTTPD-ACCELERATOR OPTIONS
1628 -----------------------------------------------------------------------------
0f74202c 1629COMMENT_END
934b03fc 1630
f1dc9b30 1631NAME: httpd_accel_host
1632TYPE: string
1633LOC: Config.Accel.host
1634DEFAULT: none
1635DOC_NONE
1636
1637NAME: httpd_accel_port
1638TYPE: ushort
1639LOC: Config.Accel.port
5b68a4d3 1640DEFAULT: 80
934b03fc 1641DOC_START
cf5cc17e 1642 If you want to run Squid as an httpd accelerator, define the
934b03fc 1643 host name and port number where the real HTTP server is.
1644
1645 If you want virtual host support then specify the hostname
1646 as "virtual".
1647
839491ad 1648 NOTE: enabling httpd_accel_host disables proxy-caching and
1649 ICP. If you want these features enabled also, then set
1650 the 'httpd_accel_with_proxy' option.
1651
f1dc9b30 1652httpd_accel_host hostname
1653httpd_accel_port port
934b03fc 1654DOC_END
1655
1656
1657NAME: httpd_accel_with_proxy
1658COMMENT: on|off
1659TYPE: onoff
f1dc9b30 1660DEFAULT: off
17a0a4ee 1661LOC: Config.onoff.accel_with_proxy
934b03fc 1662DOC_START
cf5cc17e 1663 If you want to use Squid as both a local httpd accelerator
934b03fc 1664 and as a proxy, change this to 'on'.
1665
1666httpd_accel_with_proxy off
1667DOC_END
1668
1669
1670NAME: httpd_accel_uses_host_header
1671COMMENT: on|off
1672TYPE: onoff
f1dc9b30 1673DEFAULT: off
934b03fc 1674LOC: opt_accel_uses_host
1675DOC_START
1676 HTTP/1.1 requests include a Host: header which is basically the
1677 hostname from the URL. Squid can be an accelerator for
1678 different HTTP servers by looking at this header. However,
1679 Squid does NOT check the value of the Host header, so it opens
1680 a big security hole. We recommend that this option remain
1681 disabled unless you are sure of what you are doing.
1682
04f6f348 1683 However, you will need to enable this option if you run Squid
1684 as a transparent proxy. Otherwise, virtual servers which
1685 require the Host: header will not be properly cached.
934b03fc 1686httpd_accel_uses_host_header off
1687DOC_END
1688
0f74202c 1689COMMENT_START
3a278cb8 1690 MISCELLANEOUS
1691 -----------------------------------------------------------------------------
0f74202c 1692COMMENT_END
934b03fc 1693
1694NAME: dns_testnames
1695TYPE: wordlist
1696LOC: Config.dns_testname_list
f1dc9b30 1697DEFAULT: none
934b03fc 1698DOC_START
1699 The DNS tests exit as soon as the first site is successfully looked up
1700
1701 If you want to disable DNS tests, do not comment out or delete this
1702 list. Instead use the -D command line option
1703
cf5cc17e 1704dns_testnames netscape.com internic.net nlanr.net microsoft.com
934b03fc 1705DOC_END
1706
1707
1708NAME: logfile_rotate
1709TYPE: int
1710DEFAULT: 10
1711LOC: Config.Log.rotateNumber
1712DOC_START
5a3f6538 1713 Specifies the number of logfile rotations to make when you
1714 type 'squid -k rotate'. The default is 10, which will rotate
cf5cc17e 1715 with extensions 0 through 9. Setting logfile_rotate to 0 will
934b03fc 1716 disable the rotation, but the logfiles are still closed and
cf5cc17e 1717 re-opened. This will enable you to rename the logfiles
5a3f6538 1718 yourself just before sending the rotate signal.
1719
1720 Note, the 'squid -k rotate' command normally sends a USR1
1721 signal to the running squid process. In certain situations
1722 (e.g. on Linux with Async I/O), USR1 is used for other
1723 purposes, so -k rotate uses another signal. It is best to get
1724 in the habit of using 'squid -k rotate' instead of 'kill -USR1
1725 <pid>'.
934b03fc 1726
1727logfile_rotate 10
1728DOC_END
1729
1730
1731NAME: append_domain
f1dc9b30 1732TYPE: string
1733LOC: Config.appendDomain
1734DEFAULT: none
934b03fc 1735DOC_START
cf5cc17e 1736 Appends local domain name to hostnames without any dots in
1737 them. append_domain must begin with a period.
934b03fc 1738
1739append_domain .yourdomain.com
1740DOC_END
1741
1742
1743NAME: tcp_recv_bufsize
89de058c 1744COMMENT: (bytes)
1b635117 1745TYPE: b_size_t
89de058c 1746DEFAULT: 0 bytes
934b03fc 1747LOC: Config.tcpRcvBufsz
1748DOC_START
1749 Size of receive buffer to set for TCP sockets. Probably just
1750 as easy to change your kernel's default. Set to zero to use
1751 the default buffer size.
1752
89de058c 1753tcp_recv_bufsize 0 bytes
934b03fc 1754DOC_END
1755
934b03fc 1756NAME: err_html_text
f1dc9b30 1757TYPE: eol
1758LOC: Config.errHtmlText
1759DEFAULT: none
934b03fc 1760DOC_START
1761 HTML text to include in error messages. Make this a "mailto"
1762 URL to your admin address, or maybe just a link to your
1763 organizations Web page.
1764
1765err_html_text
1766DOC_END
1767
1768
1769NAME: deny_info
1770TYPE: denyinfo
1771LOC: Config.denyInfoList
f1dc9b30 1772DEFAULT: none
934b03fc 1773DOC_START
02922e76 1774 Usage: deny_info err_page_name acl
1775 Example: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
934b03fc 1776
02922e76 1777 This can be used to return a ERR_ page for requests which
934b03fc 1778 do not pass the 'http_access' rules. A single ACL will cause
1779 the http_access check to fail. If a 'deny_info' line exists
02922e76 1780 for that ACL then Squid returns a corresponding error page.
cf5cc17e 1781
02922e76 1782 You may use ERR_ pages that come with Squid or create your own pages
1783 and put them into the configured errors/ directory.
934b03fc 1784DOC_END
1785
934b03fc 1786NAME: memory_pools
1787COMMENT: on|off
1788TYPE: onoff
f1dc9b30 1789DEFAULT: on
3f6c0fb2 1790LOC: Config.onoff.mem_pools
934b03fc 1791DOC_START
1792 If set, Squid will keep pools of allocated (but unused) memory
1793 available for future use. If memory is a premium on your
7021844c 1794 system and you believe your malloc library outperforms Squid
d0d41f07 1795 routines, disable this.
934b03fc 1796
1797memory_pools on
1798DOC_END
1799
7021844c 1800NAME: memory_pools_limit
1801COMMENT: (bytes)
1802TYPE: b_size_t
1803DEFAULT: none
f12c295b 1804LOC: Config.MemPools.limit
7021844c 1805DOC_START
f12c295b 1806 Used only with memory_pools on:
1807 memory_pools_limit 50 MB
7021844c 1808
f12c295b 1809 If set to a non-zero value, Squid will keep at most the specified
1810 limit of allocated (but unused) memory in memory pools. All free()
1811 requests that exceed this limit will be handled by your malloc
1812 library. Squid does not pre-allocate any memory, just safe-keeps
1813 objects that otherwise would be free()d. Thus, it is safe to set
7021844c 1814 memory_pools_limit to a reasonably high value even if your
f12c295b 1815 configuration will use less memory.
1816
1817 If not set (default) or set to zero, Squid will keep all memory it
1818 can. That is, there will be no limit on the total amount of memory
1819 used for safe-keeping.
7021844c 1820
1821 To disable memory allocation optimization, do not set
1822 memory_pools_limit to 0. Set memory_pools to "off" instead.
1823
f12c295b 1824 An overhead for maintaining memory pools is not taken into account
1825 when the limit is checked. This overhead is close to four bytes per
1826 object kept. However, pools may actually _save_ memory because of
1827 reduced memory thrashing in your malloc library.
7021844c 1828DOC_END
1829
934b03fc 1830NAME: forwarded_for
1831COMMENT: on|off
1832TYPE: onoff
f1dc9b30 1833DEFAULT: on
934b03fc 1834LOC: opt_forwarded_for
1835DOC_START
1836 If set, Squid will include your system's IP address or name
1837 in the HTTP requests it forwards. By default it looks like
1838 this:
1839
1840 X-Forwarded-For: 192.1.2.3
1841
1842 If you disable this, it will appear as
1843
1844 X-Forwarded-For: unknown
1845
1846forwarded_for on
1847DOC_END
1848
1849NAME: log_icp_queries
1850COMMENT: on|off
1851TYPE: onoff
f1dc9b30 1852DEFAULT: on
17a0a4ee 1853LOC: Config.onoff.log_udp
934b03fc 1854DOC_START
cf5cc17e 1855 If set, ICP queries are logged to access.log. You may wish
1856 do disable this if your ICP load is VERY high to speed things
1857 up or to simplify log analysis.
934b03fc 1858
1859log_icp_queries on
1860DOC_END
1861
88738790 1862NAME: icp_hit_stale
1863COMMENT: on|off
1864TYPE: onoff
1865DEFAULT: off
17a0a4ee 1866LOC: Config.onoff.icp_hit_stale
88738790 1867DOC_START
1868 If you want to return ICP_HIT for stale cache objects, set this
1869 option to 'on'. If you have sibling relationships with caches
1870 in other administrative domains, this should be 'off'. If you only
1871 have sibling relationships with caches under your control, then
1872 it is probably okay to set this to 'on'.
1873
1874icp_hit_stale off
1875DOC_END
1876
934b03fc 1877
1878NAME: minimum_direct_hops
1879TYPE: int
1880DEFAULT: 4
1881LOC: Config.minDirectHops
1882DOC_START
1883 If using the ICMP pinging stuff, do direct fetches for sites
1884 which are no more than this many hops away.
1885
1886minimum_direct_hops 4
1887DOC_END
1888
1889
1890NAME: cachemgr_passwd
1891TYPE: cachemgrpasswd
86101e40 1892DEFAULT: none
f1dc9b30 1893LOC: Config.passwd_list
934b03fc 1894DOC_START
1895 Specify passwords for cachemgr operations.
1896
1897 Usage: cachemgr_passwd password action action ...
1898
1899 valid actions are:
1900 shutdown *
1901 info
cf5cc17e 1902 objects
1903 vm_objects
1904 utilization
1905 ipcache
1906 fqdncache
1907 dns
1908 redirector
1909 io
1910 reply_headers
1911 filedescriptors
1912 netdb
934b03fc 1913 server_list
1914 client_list
cf5cc17e 1915 config *
934b03fc 1916
1917 * Indicates actions which will not be performed without a
1918 valid password, others can be performed if not listed here.
1919
1920 To disable an action, set the password to "disable".
1921 To allow performing an action without a password, set the
1922 password to "none".
1923
1924 Use the keyword "all" to set the same password for all actions.
1925
1926cachemgr_passwd secret shutdown
1927cachemgr_passwd lesssssssecret info stats/objects
1928cachemgr_passwd disable all
1929DOC_END
1930
934b03fc 1931NAME: store_avg_object_size
86101e40 1932COMMENT: (kbytes)
1933TYPE: kb_size_t
2bf99296 1934DEFAULT: 13 KB
934b03fc 1935LOC: Config.Store.avgObjectSize
1936DOC_START
1937 Average object size, used to estimate number of objects your
1938 cache can hold. See doc/Release-Notes-1.1.txt. The default is
2bf99296 1939 13 KB.
934b03fc 1940
2bf99296 1941store_avg_object_size 13 KB
934b03fc 1942DOC_END
1943
1944NAME: store_objects_per_bucket
1945TYPE: int
1946DEFAULT: 50
1947LOC: Config.Store.objectsPerBucket
1948DOC_START
1949 Target number of objects per bucket in the store hash table.
1950 Lowering this value increases the total number of buckets and
1951 also the storage maintenance rate. The default is 20.
1952
1953store_objects_per_bucket 20
1954DOC_END
1955
1956
1957NAME: http_anonymizer
1958TYPE: httpanonymizer
17a0a4ee 1959LOC: Config.onoff.anonymizer
f1dc9b30 1960DEFAULT: off
934b03fc 1961DOC_START
1962 If you want to filter out certain HTTP request headers for
1963 privacy reasons, enable this option. There are three
1964 appropriate settings:
1965 'off' All HTTP request headers are passed.
1966 'standard' Specific headers are removed
1967 'paranoid' Only specific headers are allowed.
1968 To see which headers are allowed or denied, please see the
1969 http-anon.c source file.
1970
1971http_anonymizer off
1972DOC_END
1973
1974
1975NAME: client_db
1976COMMENT: on|off
1977TYPE: onoff
f1dc9b30 1978DEFAULT: on
17a0a4ee 1979LOC: Config.onoff.client_db
934b03fc 1980DOC_START
1981 If you want to disable collecting per-client statistics, then
1982 turn off client_db here.
1983
1984client_db on
1985DOC_END
1986
1987
1988NAME: netdb_low
1989TYPE: int
1990DEFAULT: 900
1991LOC: Config.Netdb.low
1992DOC_NONE
1993
1994NAME: netdb_high
1995TYPE: int
1996DEFAULT: 1000
1997LOC: Config.Netdb.high
1998DOC_START
1999 The low and high water marks for the ICMP measurement
2000 database. These are counts, not percents. The defaults are
2001 900 and 1000. When the high water mark is reached, database
2002 entries will be deleted until the low mark is reached.
2003
2004netdb_low 900
2005netdb_high 1000
2006DOC_END
2007
2008
2009NAME: netdb_ping_period
f1dc9b30 2010TYPE: time_t
934b03fc 2011LOC: Config.Netdb.period
9e975e4e 2012DEFAULT: 5 minutes
934b03fc 2013DOC_START
2014 The minimum period for measuring a site. There will be at
2015 least this much delay between successive pings to the same
2016 network. The default is five minutes.
2017
2018netdb_ping_period 5 minutes
2019DOC_END
2020
2021
2022NAME: query_icmp
2023COMMENT: on|off
2024TYPE: onoff
f1dc9b30 2025DEFAULT: off
17a0a4ee 2026LOC: Config.onoff.query_icmp
934b03fc 2027DOC_START
2028 If you want to ask your peers to include ICMP data in their ICP
2029 replies, enable this option.
2030
cf5cc17e 2031 If your peer has configured Squid (during compilation) with
2032 '--enable-icmp' then that peer will send ICMP pings to origin server
2033 sites of the URLs it receives. If you enable this option then the
2034 ICP replies from that peer will include the ICMP data (if available).
2035 Then, when choosing a parent cache, Squid will choose the parent with
934b03fc 2036 the minimal RTT to the origin server. When this happens, the
2037 hierarchy field of the access.log will be
2038 "CLOSEST_PARENT_MISS". This option is off by default.
2039
2040query_icmp off
2041DOC_END
2042
88500f96 2043NAME: test_reachability
194dd3b8 2044COMMENT: on|off
2045TYPE: onoff
2046DEFAULT: off
2047LOC: Config.onoff.test_reachability
2048DOC_START
2049 When this is 'on', ICP MISS replies will be ICP_MISS_NOFETCH
2050 instead of ICP_MISS if the target host is NOT in the ICMP
2051 database, or has a zero RTT.
2052
2053test_reachability off
2054DOC_END
2055
78f1250a 2056NAME: buffered_logs
2057COMMENT: on|off
2058TYPE: onoff
2059DEFAULT: off
17a0a4ee 2060LOC: Config.onoff.buffered_logs
78f1250a 2061DOC_START
2062 Some log files (cache.log, useragent.log) are written with
2063 stdio functions, and as such they can be buffered or
cf5cc17e 2064 unbuffered. By default they will be unbuffered. Buffering them
2065 can speed up the writing slightly (though you are unlikely to
2066 need to worry).
78f1250a 2067buffered_logs off
2068DOC_END
2069
465dc415 2070NAME: reload_into_ims
9f60cfdf 2071IFDEF: HTTP_VIOLATIONS
465dc415 2072COMMENT: on|off
2073TYPE: onoff
2074DEFAULT: off
2075LOC: Config.onoff.reload_into_ims
2076DOC_START
2077 When you enable this option, client no-cache or ``reload''
2078 requests will be changed to If-Modified-Since requests.
2079 Doing this VIOLATES the HTTP standard. Enabling this
2080 feature could make you liable for problems which it
2081 causes.
cbe3a719 2082
2083 see also refresh_pattern for a more selective approach.
2084
465dc415 2085reload_into_ims off
2086DOC_END
2087
934b03fc 2088NAME: always_direct
2089TYPE: acl_access
2090LOC: Config.accessList.AlwaysDirect
f1dc9b30 2091DEFAULT: none
934b03fc 2092DOC_START
2a78fa67 2093 Usage: always_direct allow|deny [!]aclname ...
2094
2095 Here you can use ACL elements to specify requests which should
2096 ALWAYS be forwarded directly to origin servers. This option
2097 replaces some v1.1 options such as inside_firewall,
2098 firewall_ip, local_domain, and local_ip. For example, to
2099 always directly forward requests for local servers use
2100 something like:
2101
2102 acl local-servers dstdomain my.domain.net
2103 always_direct allow local-servers
2104
2105 To always forward FTP requests directly, use
2106
2107 acl FTP proto FTP
2108 always_direct allow FTP
2109
2110 NOTE: There is a similar, but opposite option named
2111 'never_direct'. You need to be aware that "always_direct deny
2112 foo" is NOT the same thing as "never_direct allow foo". You
2113 may need to use a deny rule to exclude a more-specific case of
2114 some other rule. Example:
2115
2116 acl local-external dstdomain external.foo.net
2117 acl local-servers dstdomain foo.net
2118 always_direct deny local-external
2119 always_direct allow local-servers
934b03fc 2120DOC_END
2121
2122NAME: never_direct
2123TYPE: acl_access
2124LOC: Config.accessList.NeverDirect
f1dc9b30 2125DEFAULT: none
934b03fc 2126DOC_START
d0d41f07 2127 Usage: never_direct allow|deny [!]aclname ...
2a78fa67 2128
2129 never_direct is the opposite of always_direct. Please read
2130 the description for always_direct if you have not already.
934b03fc 2131
2a78fa67 2132 With 'never_direct' you can use ACL elements to specify
2133 requests which should NEVER be forwarded directly to origin
2134 servers. This option replaces some v1.1 options such as
2135 inside_firewall, firewall_ip, local_domain, and local_ip. For
2136 example, to force the use of a proxy for all requests, except
2137 those in your local domain, use something like:
2138
d0d41f07 2139 acl local-servers dstdomain my.domain.net
2a78fa67 2140 acl all src 0.0.0.0/0.0.0.0
d0d41f07 2141 never_direct deny local-servers
2142 never_direct allow all
2a78fa67 2143DOC_END
934b03fc 2144
88738790 2145NAME: fake_user_agent
2146TYPE: eol
2147LOC: Config.fake_ua
2148DEFAULT: none
2149DOC_START
d0d41f07 2150 If you use the paranoid http_anonymizer setting, Squid will strip
2151 your User-agent string from the request. Some Web servers will
2152 refuse your request without a User-agent string. Use this to
2153 fake one up. For example:
88738790 2154
d0d41f07 2155 fake_user_agent Nutscrape/1.0 (CP/M; 8-bit)
2156 (credit to Paul Southworth pauls@etext.org for this one!)
88738790 2157
2158fake_user_agent none
2159DOC_END
2160
365cb147 2161NAME: icon_directory
f0b19334 2162TYPE: string
365cb147 2163LOC: Config.icons.directory
2164DEFAULT: @DEFAULT_ICON_DIR@
2165DOC_START
cf5cc17e 2166 Where the icons are stored. These are normally kept in
2167 @DEFAULT_ICON_DIR@
365cb147 2168DOC_END
2169
cf5cc17e 2170NAME: error_directory
365cb147 2171TYPE: string
cf5cc17e 2172LOC: Config.errorDirectory
2173DEFAULT: @DEFAULT_ERROR_DIR@
365cb147 2174DOC_START
cf5cc17e 2175 If you wish to create your own versions of the default
2176 (English) error files, either to customise them to suit your
2177 language or company copy the template english files to anther
2178 directory and point this tag at them.
365cb147 2179DOC_END
88738790 2180
22c653cd 2181NAME: minimum_retry_timeout
2182COMMENT: (seconds)
2183TYPE: time_t
2184LOC: Config.retry.timeout
2185DEFAULT: 5 seconds
2186DOC_START
2187 This specifies the minimum connect timeout, for when the
2188 connect timeout is reduced to compensate for the availability
2189 of multiple IP addresses.
2190
cf5cc17e 2191 When a connection to a host is initiated, and that host has
2192 several IP addresses, the default connection timeout is reduced
2193 by dividing it by the number of addresses. So, a site with 15
2194 addresses would then have a timeout of 8 seconds for each
2195 address attempted. To avoid having the timeout reduced to the
2196 point where even a working host would not have a chance to
2197 respond, this setting is provided. The default, and the
2198 minimum value, is five seconds, and the maximum value is sixty
2199 seconds, or half of connect_timeout, whichever is greater and
2200 less than connect_timeout.
22c653cd 2201
cf5cc17e 2202minimum_retry_timeout 5 seconds
22c653cd 2203DOC_END
2204
2205NAME: maximum_single_addr_tries
2206TYPE: int
2207LOC: Config.retry.maxtries
2208DEFAULT: 3
2209DOC_START
2210 This sets the maximum number of connection attempts for a
2211 host that only has one address (for multiple-address hosts,
2212 each address is tried once).
2213
2214 The default value is three tries, the (not recommended)
2215 maximum is 255 tries. A warning message will be generated
2216 if it is set to a value greater than ten.
2217
2218maximum_single_addr_tries 3
2219DOC_END
6d1c0d53 2220
a97cfa48 2221NAME: snmp_port
2222TYPE: ushort
2223LOC: Config.Port.snmp
2224DEFAULT: 3401
1df370e3 2225IFDEF: SQUID_SNMP
a97cfa48 2226DOC_START
cf5cc17e 2227 Squid can now serve statistics and status information via SNMP.
2228 By default it listens to port 3401 on the machine. If you don't
2229 wish to use SNMP, set this to '-1'.
2230
2231 NOTE: SNMP support requires use the --enable-snmp configure
2232 command line option.
794a4fea 2233snmp_port 3401
a97cfa48 2234DOC_END
2235
a97cfa48 2236NAME: snmp_do_queueing
2237TYPE: onoff
2238LOC: Config.Snmp.do_queueing
2239DEFAULT: on
1df370e3 2240IFDEF: SQUID_SNMP
a97cfa48 2241DOC_START
cf5cc17e 2242 If disabled, snmp packets will not be queued but delivered
2243 immediately. This could be useful when you want to monitor a
2244 cache in trouble, but this could also make Squid block, slowing
2245 connections and possibly worsening the cache status.
794a4fea 2246snmp_do_queueing on
a97cfa48 2247DOC_END
2248
2249NAME: forward_snmpd_port
2250TYPE: ushort
2251LOC: Config.Snmp.localPort
2252DEFAULT: 0
1df370e3 2253IFDEF: SQUID_SNMP
a97cfa48 2254DOC_START
2255 This configures whether we should be forwarding SNMP requests
cf5cc17e 2256 to another snmpd. The reason for putting this piece of
2257 functionality into Squid was to enable access to the system's
2258 installed snmpd with minimal changes. This option is turned
2259 off by default, check with your /etc/services for your system's
2260 snmp port (usually 161). We do not use getservbyname() to
2261 allow you to set Squid into port 161 and your system's snmpd to
2262 another port by changing /etc/services.
2263
d0d41f07 2264 WARNING: Because of Squid acting as a proxy snmpd for system
2265 you have to do security checks on THIS snmpd for all objects.
2266 Check your snmp_config_file.
794a4fea 2267forward_snmpd_port 0
a97cfa48 2268DOC_END
2269
2270NAME: snmp_mib_path
2271TYPE: string
2272LOC: Config.Snmp.mibPath
2273DEFAULT: @DEFAULT_MIB_PATH@
1df370e3 2274IFDEF: SQUID_SNMP
a97cfa48 2275DOC_START
cf5cc17e 2276 The location of Squid's mib.
794a4fea 2277snmp_mib_path @DEFAULT_MIB_PATH@
a97cfa48 2278DOC_END
2279
a97cfa48 2280NAME: trap_sink
4feb7b2e 2281TYPE: string
a97cfa48 2282LOC: Config.Snmp.trap_sink
2283DEFAULT: 127.0.0.1
1df370e3 2284IFDEF: SQUID_SNMP
4feb7b2e 2285DOC_START
a97cfa48 2286 Hostname or ip address of trap sink for snmp
794a4fea 2287trap_sink 127.0.0.1
4feb7b2e 2288DOC_END
2289
a97cfa48 2290NAME: snmp_trap_community
2291TYPE: string
2292LOC: Config.Snmp.trap_community
2293DEFAULT: public
1df370e3 2294IFDEF: SQUID_SNMP
a97cfa48 2295DOC_START
cf5cc17e 2296 Community name for traps.
794a4fea 2297snmp_trap_community public
a97cfa48 2298DOC_END
2299
2300NAME: snmp_enable_authen_traps
2301TYPE: onoff
2302LOC: Config.Snmp.conf_authtraps
2303DEFAULT: off
1df370e3 2304IFDEF: SQUID_SNMP
a97cfa48 2305DOC_START
cf5cc17e 2306 Enable SNMP authenticated traps. Set to 'off' or 'on'.
794a4fea 2307snmp_enable_authen_traps off
a97cfa48 2308DOC_END
2309
2310NAME: snmp_agent_conf
5e14bf6d 2311TYPE: stringlist
a97cfa48 2312LOC: Config.Snmp.snmpconf
2313DEFAULT: none
1df370e3 2314IFDEF: SQUID_SNMP
a97cfa48 2315DOC_START
2316 Define snmp views, users and communities
2317 Example:
2318 snmp_agent_conf view all .1.3.6 included
2319 snmp_agent_conf view squid .1.3.6 included
2320 snmp_agent_conf user squid - all all public
2321 snmp_agent_conf user all all all all squid
2322 snmp_agent_conf community public squid squid
2323 snmp_agent_conf community readwrite all all
2324DOC_END
4feb7b2e 2325
bdf18524 2326NAME: snmp_acl
2327TYPE: snmp_access
2328LOC: Config.Snmp.communities
2329DEFAULT: none
2330IFDEF: SQUID_SNMP
2331DOC_START
2332 Define access controls per community:
2333 snmp_access communityname allow|deny [!]aclname ...
2334 Example:
2335 snmp_acl public allow adminsubnet
2336 snmp_acl public deny all
2337DOC_END
2338
15dcc168 2339NAME: snmp_incoming_address
2340TYPE: address
2341LOC: Config.Addrs.snmp_outgoing
2342DEFAULT: 0.0.0.0
2343IFDEF: SQUID_SNMP
2344DOC_NONE
2345NAME: snmp_outgoing_address
2346TYPE: address
2347LOC: Config.Addrs.snmp_outgoing
2348DEFAULT: 255.255.255.255
2349IFDEF: SQUID_SNMP
2350DOC_START
2351 Just like 'udp_incoming_address' above, but for the SNMP port.
2352
2353 snmp_incoming_address is used for the SNMP socket receiving
2354 messages from SNMP agents.
2355 snmp_outgoing_address is used for SNMP packets returned to SNMP
2356 agents.
2357
2358 The default behaviour is to not bind to any specific address.
2359
2360 NOTE, snmp_incoming_address and snmp_outgoing_address can not have
2361 the same value since they both use port 3130.
2362
2363snmp_incoming_address 0.0.0.0
2364snmp_outgoing_address 0.0.0.0
2365DOC_END
bdf18524 2366
53ad48e6 2367NAME: as_whois_server
2368TYPE: string
2369LOC: Config.as_whois_server
2370DEFAULT: whois.ra.net
2371DEFAULT_IF_NONE: whois.ra.net
2372DOC_START
cf5cc17e 2373 WHOIS server to query for AS numbers. NOTE: AS numbers are
2374 queried only when Squid starts up, not for every request.
53ad48e6 2375DOC_END
95e36d02 2376
2377COMMENT_START
2378 DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
2379 -----------------------------------------------------------------------------
2380
2381 A general note on delay pools - the first matched delay pool is used,
2382 that is, if a request falls into class1 then it isn't checked for class2
2383 or class3 (and similarly a class2 request isn't checked for class3).
2384COMMENT_END
2385
2386NAME: delay_class1_access
2387TYPE: acl_access
2388DEFAULT: none
2389IFDEF: DELAY_POOLS
2390LOC: Config.Delay.class1.access
2391DOC_START
2392 This is used to select what client requests are processed via
2393 the first ("class 1") delay pool. In this delay pool only the
2394 aggregate traffic allowance is configurable.
2395DOC_END
2396
2397NAME: delay_class2_access
2398TYPE: acl_access
2399DEFAULT: none
2400IFDEF: DELAY_POOLS
2401LOC: Config.Delay.class2.access
2402DOC_START
2403 This is used to select what client requests are processed via
2404 the first ("class 2") delay pool. In this delay pool both the
2405 aggregate and per-host traffic allowance are configurable.
2406 There are 254 individual delay pools based on the last 8 bits
2407 of the client IP address (addresses ending in 0 and 255 are not
2408 permitted).
2409DOC_END
2410
2411NAME: delay_class3_access
2412TYPE: acl_access
2413DEFAULT: none
2414IFDEF: DELAY_POOLS
2415LOC: Config.Delay.class3.access
2416DOC_START
2417 This is used to select what client requests are processed via
2418 the first ("class 3") delay pool. In this delay pool, the
2419 aggregate, network and per-host traffic allowance are
2420 configurable. There are 255 network delay pools based on the
2421 17th to 24th bit of the client IP address (network 255 is not
2422 permitted), and individual delay pools based on the last 16
2423 bits of the client IP address (network 255 and hosts ending in
2424 0 and 255 are not permitted).
2425DOC_END
2426
2427NAME: delay_class1_aggregate_restore
2428TYPE: int
2429DEFAULT: -1
2430IFDEF: DELAY_POOLS
2431COMMENT: (bps)
2432LOC: Config.Delay.class1.aggregate.restore_bps
2433DOC_START
2434 The number of bytes per second added to the class 1 aggregate
2435 delay pool traffic allowance (-1 to disable the delay pool).
2436DOC_END
2437
2438NAME: delay_class1_aggregate_max
2439TYPE: int
2440DEFAULT: -1
2441IFDEF: DELAY_POOLS
2442COMMENT: (bytes)
2443LOC: Config.Delay.class1.aggregate.max_bytes
2444DOC_START
2445 The maximum number of bytes which can be in the class 1
2446 aggregate delay pool traffic allowance.
2447DOC_END
2448
2449NAME: delay_class2_aggregate_restore
2450TYPE: int
2451DEFAULT: -1
2452IFDEF: DELAY_POOLS
2453COMMENT: (bps)
2454LOC: Config.Delay.class2.aggregate.restore_bps
2455DOC_START
2456 The number of bytes per second added to the class 2 aggregate
2457 delay pool traffic allowance (-1 to disable the delay pool).
2458DOC_END
2459
2460NAME: delay_class2_aggregate_max
2461TYPE: int
2462DEFAULT: -1
2463IFDEF: DELAY_POOLS
2464COMMENT: (bytes)
2465LOC: Config.Delay.class2.aggregate.max_bytes
2466DOC_START
2467 The maximum number of bytes which can be in the class 2
2468 aggregate delay pool traffic allowance.
2469DOC_END
2470
2471NAME: delay_class2_individual_restore
2472TYPE: int
2473DEFAULT: -1
2474IFDEF: DELAY_POOLS
2475COMMENT: (bps)
2476LOC: Config.Delay.class2.individual.restore_bps
2477DOC_START
2478 The number of bytes per second added to the class 2 individual
2479 host delay pool traffic allowances (-1 to disable these delay
2480 pools).
2481DOC_END
2482
2483NAME: delay_class2_individual_max
2484TYPE: int
2485DEFAULT: -1
2486IFDEF: DELAY_POOLS
2487COMMENT: (bytes)
2488LOC: Config.Delay.class2.individual.max_bytes
2489DOC_START
2490 The maximum number of bytes which can be in the class 2
2491 individual host delay pool traffic allowances.
2492DOC_END
2493
2494NAME: delay_class3_aggregate_restore
2495TYPE: int
2496DEFAULT: -1
2497IFDEF: DELAY_POOLS
2498COMMENT: (bps)
2499LOC: Config.Delay.class3.aggregate.restore_bps
2500DOC_START
2501 The number of bytes per second added to the class 3 aggregate
2502 delay pool traffic allowance (-1 to disable the delay pool).
2503DOC_END
2504
2505NAME: delay_class3_aggregate_max
2506TYPE: int
2507DEFAULT: -1
2508IFDEF: DELAY_POOLS
2509COMMENT: (bytes)
2510LOC: Config.Delay.class3.aggregate.max_bytes
2511DOC_START
2512 The maximum number of bytes which can be in the class 3
2513 aggregate delay pool traffic allowance.
2514DOC_END
2515
2516NAME: delay_class3_network_restore
2517TYPE: int
2518DEFAULT: -1
2519IFDEF: DELAY_POOLS
2520COMMENT: (bps)
2521LOC: Config.Delay.class3.network.restore_bps
2522DOC_START
2523 The number of bytes per second added to the class 3 8-bit
2524 network delay pool traffic allowances (-1 to disable these
2525 delay pools).
2526DOC_END
2527
2528NAME: delay_class3_network_max
2529TYPE: int
2530DEFAULT: -1
2531IFDEF: DELAY_POOLS
2532COMMENT: (bytes)
2533LOC: Config.Delay.class3.network.max_bytes
2534DOC_START
2535 The maximum number of bytes which can be in the class 3 8-bit
2536 network delay pool traffic allowances.
2537DOC_END
2538
2539NAME: delay_class3_individual_restore
2540TYPE: int
2541DEFAULT: -1
2542IFDEF: DELAY_POOLS
2543COMMENT: (bps)
2544LOC: Config.Delay.class3.individual.restore_bps
2545DOC_START
2546 The number of bytes per second added to the class 3 individual
2547 host delay pool traffic allowances (-1 to disable these delay
2548 pools).
2549DOC_END
2550
2551NAME: delay_class3_individual_max
2552TYPE: int
2553DEFAULT: -1
2554IFDEF: DELAY_POOLS
2555COMMENT: (bytes)
2556LOC: Config.Delay.class3.individual.max_bytes
2557DOC_START
2558 The maximum number of bytes which can be in the class 3
2559 individual host delay pool traffic allowances.
2560DOC_END
6be2389e 2561
9cd6c6fb 2562NAME: incoming_icp_average
6be2389e 2563TYPE: int
2564DEFAULT: 6
2565LOC: Config.comm_incoming.icp_average
2566DOC_NONE
2567
9cd6c6fb 2568NAME: incoming_http_average
6be2389e 2569TYPE: int
2570DEFAULT: 4
2571LOC: Config.comm_incoming.http_average
2572DOC_NONE
2573
9cd6c6fb 2574NAME: min_icp_poll_cnt
6be2389e 2575TYPE: int
2576DEFAULT: 8
2577LOC: Config.comm_incoming.icp_min_poll
2578DOC_NONE
2579
9cd6c6fb 2580NAME: min_http_poll_cnt
6be2389e 2581TYPE: int
2582DEFAULT: 8
2583LOC: Config.comm_incoming.http_min_poll
2584DOC_START
2585 Heavy voodoo here. I can't even beleve you are reading this.
2586 Are you crazy? Don't even think about adjusting these unless
2587 you understand the algorithms in comm_select.c first!
8d3285ea 2588
2589incoming_icp_average 6
2590incoming_http_average 4
2591min_icp_poll_cnt 8
2592min_http_poll_cnt 8
6be2389e 2593DOC_END
2b4283e4 2594
c5f627c2 2595NAME: max_open_disk_fds
2596TYPE: int
2597LOC: Config.max_open_disk_fds
2598DEFAULT: 0
2599DOC_NONE
2600
2b4283e4 2601EOF