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