~clint-fewbar/ubuntu/precise/squid3/ignore-sighup-early

« back to all changes in this revision

Viewing changes to src/cf.data.pre

  • Committer: Bazaar Package Importer
  • Author(s): Luigi Gangitano
  • Date: 2010-05-04 11:15:49 UTC
  • mfrom: (1.3.1 upstream)
  • mto: (20.3.1 squeeze) (21.2.1 sid)
  • mto: This revision was merged to the branch mainline in revision 21.
  • Revision ID: james.westby@ubuntu.com-20100504111549-1apjh2g5sndki4te
Tags: upstream-3.1.3
ImportĀ upstreamĀ versionĀ 3.1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
#
3
 
# $Id: cf.data.pre,v 1.488.2.5 2008/02/27 05:51:06 amosjeffries Exp $
4
1
#
5
2
# SQUID Web Proxy Cache         http://www.squid-cache.org/
6
3
# ----------------------------------------------------------
30
27
#
31
28
 
32
29
COMMENT_START
33
 
        WELCOME TO SQUID @VERSION@
 
30
        WELCOME TO @SQUID@
34
31
        ----------------------------
35
32
 
36
33
        This is the default Squid configuration file. You may wish
106
103
        proxy as the client then thinks it is talking to an origin server and
107
104
        not the proxy. This is a limitation of bending the TCP/IP protocol to
108
105
        transparently intercepting port 80, not a limitation in Squid.
109
 
        Ports flagged 'transparent' or 'tproxy' have authentication disabled.
 
106
        Ports flagged 'transparent', 'intercept', or 'tproxy' have
 
107
        authentication disabled.
110
108
 
111
109
        === Parameters for the basic scheme follow. ===
112
110
 
115
113
        reads a line containing "username password" and replies "OK" or
116
114
        "ERR" in an endless loop. "ERR" responses may optionally be followed
117
115
        by a error description available as %m in the returned error page.
118
 
        If you use an authenticator, make sure you have 1 acl of type proxy_auth.
 
116
        If you use an authenticator, make sure you have 1 acl of type
 
117
        proxy_auth.
119
118
 
120
119
        By default, the basic authentication scheme is not used unless a
121
120
        program is specified.
125
124
 
126
125
        auth_param basic program @DEFAULT_PREFIX@/libexec/ncsa_auth @DEFAULT_PREFIX@/etc/passwd
127
126
 
 
127
        "utf8" on|off
 
128
        HTTP uses iso-latin-1 as characterset, while some authentication
 
129
        backends such as LDAP expects UTF-8. If this is set to on Squid will
 
130
        translate the HTTP iso-latin-1 charset to UTF-8 before sending the
 
131
        username & password to the helper.
 
132
 
128
133
        "children" numberofchildren
129
134
        The number of authenticator processes to spawn. If you start too few
130
135
        Squid will have to wait for them to process a backlog of credential
187
192
 
188
193
        auth_param digest program @DEFAULT_PREFIX@/bin/digest_pw_auth @DEFAULT_PREFIX@/etc/digpass
189
194
 
 
195
        "utf8" on|off
 
196
        HTTP uses iso-latin-1 as characterset, while some authentication
 
197
        backends such as LDAP expects UTF-8. If this is set to on Squid will
 
198
        translate the HTTP iso-latin-1 charset to UTF-8 before sending the
 
199
        username & password to the helper.
 
200
 
190
201
        "children" numberofchildren
191
202
        The number of authenticator processes to spawn (no default).
192
203
        If you start too few Squid will have to wait for them to
270
281
        the Microsoft Internet Explorer or Mozilla Firefox browsers.
271
282
        Its main purpose is to exchange credentials with the Squid proxy
272
283
        using the Kerberos mechanisms.
273
 
        If you use a Negotiate authenticator, make sure you have at least one acl
274
 
        of type proxy_auth active.  By default, the negotiate authenticator_program
275
 
        is not used.
 
284
        If you use a Negotiate authenticator, make sure you have at least
 
285
        one acl of type proxy_auth active. By default, the negotiate
 
286
        authenticator_program is not used.
276
287
        The only supported program for this role is the ntlm_auth
277
288
        program distributed as part of Samba, version 4 or later.
278
289
 
296
307
 
297
308
        auth_param negotiate keep_alive on
298
309
 
299
 
NOCOMMENT_START
 
310
        
 
311
        Examples:
 
312
 
300
313
#Recommended minimum configuration per scheme:
301
314
#auth_param negotiate program <uncomment and complete this line to activate>
302
315
#auth_param negotiate children 5
303
316
#auth_param negotiate keep_alive on
 
317
#
304
318
#auth_param ntlm program <uncomment and complete this line to activate>
305
319
#auth_param ntlm children 5
306
320
#auth_param ntlm keep_alive on
 
321
#
307
322
#auth_param digest program <uncomment and complete this line>
308
323
#auth_param digest children 5
309
324
#auth_param digest realm Squid proxy-caching web server
310
325
#auth_param digest nonce_garbage_interval 5 minutes
311
326
#auth_param digest nonce_max_duration 30 minutes
312
327
#auth_param digest nonce_max_count 50
 
328
#
313
329
#auth_param basic program <uncomment and complete this line>
314
330
#auth_param basic children 5
315
331
#auth_param basic realm Squid proxy-caching web server
316
332
#auth_param basic credentialsttl 2 hours
317
 
NOCOMMENT_END
318
333
DOC_END
319
334
 
320
335
NAME: authenticate_cache_garbage_interval
384
399
                        cached entry should be initiated without needing to
385
400
                        wait for a new reply. (default 0 for no grace period)
386
401
          protocol=2.5  Compatibility mode for Squid-2.5 external acl helpers
 
402
          ipv4 / ipv6   IP-mode used to communicate to this helper.
 
403
                        For compatability with older configurations and helpers
 
404
                        the default is 'ipv4'.
387
405
 
388
406
        FORMAT specifications
389
407
 
405
423
          %USER_CERTCHAIN SSL User certificate chain in PEM format
406
424
          %USER_CERT_xx SSL User certificate subject attribute xx
407
425
          %USER_CA_xx   SSL User certificate issuer attribute xx
408
 
          %{Header}     HTTP request header "Header"
409
 
          %{Hdr:member} HTTP request header "Hdr" list member "member"
410
 
          %{Hdr:;member}
 
426
 
 
427
          %>{Header}    HTTP request header "Header"
 
428
          %>{Hdr:member}
 
429
                        HTTP request header "Hdr" list member "member"
 
430
          %>{Hdr:;member}
411
431
                        HTTP request header list member using ; as
412
432
                        list separator. ; can be any non-alphanumeric
413
433
                        character.
414
434
 
 
435
          %<{Header}    HTTP reply header "Header"
 
436
          %<{Hdr:member}
 
437
                        HTTP reply header "Hdr" list member "member"
 
438
          %<{Hdr:;member}
 
439
                        HTTP reply header list member using ; as
 
440
                        list separator. ; can be any non-alphanumeric
 
441
                        character.
 
442
 
415
443
        In addition to the above, any string specified in the referencing
416
444
        acl will also be included in the helper request line, after the
417
445
        specified formats (see the "acl external" directive)
467
495
        By default, regular expressions are CASE-SENSITIVE.  To make
468
496
        them case-insensitive, use the -i option.
469
497
 
 
498
        Some acl types require suspending the current request in order
 
499
        to access some external data source.
 
500
        Those which do are marked with the tag [slow], those which
 
501
        don't are marked as [fast].
 
502
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl
 
503
        for further information
470
504
 
471
505
        ***** ACL TYPES AVAILABLE *****
472
506
 
473
 
        acl aclname src ip-address/netmask ...          # clients IP address
474
 
        acl aclname src addr1-addr2/netmask ...         # range of addresses
475
 
        acl aclname dst ip-address/netmask ...          # URL host's IP address
476
 
        acl aclname myip ip-address/netmask ...         # local socket IP address
 
507
        acl aclname src ip-address/netmask ...  # clients IP address [fast]
 
508
        acl aclname src addr1-addr2/netmask ... # range of addresses [fast]
 
509
        acl aclname dst ip-address/netmask ...  # URL host's IP address [slow]
 
510
        acl aclname myip ip-address/netmask ... # local socket IP address [fast]
477
511
 
478
512
        acl aclname arp      mac-address ... (xx:xx:xx:xx:xx:xx notation)
479
513
          # The arp ACL requires the special configure option --enable-arp-acl.
480
514
          # Furthermore, the ARP ACL code is not portable to all operating systems.
481
 
          # It works on Linux, Solaris, Windows, FreeBSD, and some other *BSD variants.
 
515
          # It works on Linux, Solaris, Windows, FreeBSD, and some
 
516
          # other *BSD variants.
 
517
          # [fast]
482
518
          #
483
519
          # NOTE: Squid can only determine the MAC address for clients that are on
484
 
          # the same subnet. If the client is on a different subnet, then Squid cannot
485
 
          # find out its MAC address.
 
520
          # the same subnet. If the client is on a different subnet,
 
521
          # then Squid cannot find out its MAC address.
486
522
 
487
 
        acl aclname srcdomain   .foo.com ...            # reverse lookup, from client IP
488
 
        acl aclname dstdomain   .foo.com ...            # Destination server from URL
489
 
        acl aclname srcdom_regex [-i] \.foo\.com ...    # regex matching client name
490
 
        acl aclname dstdom_regex [-i] \.foo\.com ...    # regex matching server
 
523
        acl aclname srcdomain   .foo.com ...
 
524
          # reverse lookup, from client IP [slow]
 
525
        acl aclname dstdomain   .foo.com ...
 
526
          # Destination server from URL [fast]
 
527
        acl aclname srcdom_regex [-i] \.foo\.com ...
 
528
          # regex matching client name [slow]
 
529
        acl aclname dstdom_regex [-i] \.foo\.com ...
 
530
          # regex matching server [fast]
 
531
          #
491
532
          # For dstdomain and dstdom_regex a reverse lookup is tried if a IP
492
533
          # based URL is used and no match is found. The name "none" is used
493
534
          # if the reverse lookup fails.
494
535
 
495
536
        acl aclname src_as number ...
496
537
        acl aclname dst_as number ...
 
538
          # [fast]
497
539
          # Except for access control, AS numbers can be used for
498
540
          # routing of requests to specific caches. Here's an
499
541
          # example for routing all requests for AS#1241 and only
502
544
          # cache_peer_access mycache.mydomain.net allow asexample
503
545
          # cache_peer_access mycache_mydomain.net deny all
504
546
 
 
547
        acl aclname peername myPeer ...
 
548
          # [fast]
 
549
          # match against a named cache_peer entry
 
550
          # set unique name= on cache_peer lines for reliable use.
 
551
 
505
552
        acl aclname time [day-abbrevs] [h1:m1-h2:m2]
 
553
          # [fast]
506
554
          #  day-abbrevs:
507
555
          #     S - Sunday
508
556
          #     M - Monday
513
561
          #     A - Saturday
514
562
          #  h1:m1 must be less than h2:m2
515
563
 
516
 
        acl aclname url_regex [-i] ^http:// ...         # regex matching on whole URL
517
 
        acl aclname urlpath_regex [-i] \.gif$ ...       # regex matching on URL path
518
 
 
519
 
        acl aclname port 80 70 21 ...
520
 
        acl aclname port 0-1024 ...             # ranges allowed
521
 
        acl aclname myport 3128 ...             # (local socket TCP port)
522
 
        acl aclname myportname 3128 ...         # http(s)_port name
523
 
 
524
 
        acl aclname proto HTTP FTP ...
525
 
 
526
 
        acl aclname method GET POST ...
527
 
 
528
 
        acl aclname http_status 200 301 500- 400-403 ...     # status code in reply
 
564
        acl aclname url_regex [-i] ^http:// ...
 
565
          # regex matching on whole URL [fast]
 
566
        acl aclname urlpath_regex [-i] \.gif$ ...
 
567
          # regex matching on URL path [fast]
 
568
 
 
569
        acl aclname port 80 70 21 0-1024...   # destination TCP port [fast]
 
570
                                              # ranges are alloed
 
571
        acl aclname myport 3128 ...               # local socket TCP port [fast]
 
572
        acl aclname myportname 3128 ...       # http(s)_port name [fast]
 
573
 
 
574
        acl aclname proto HTTP FTP ...        # request protocol [fast]
 
575
 
 
576
        acl aclname method GET POST ...       # HTTP request method [fast]
 
577
 
 
578
        acl aclname http_status 200 301 500- 400-403 ... 
 
579
          # status code in reply [fast]
529
580
 
530
581
        acl aclname browser [-i] regexp ...
531
 
          # pattern match on User-Agent header (see also req_header below)
 
582
          # pattern match on User-Agent header (see also req_header below) [fast]
532
583
 
533
584
        acl aclname referer_regex [-i] regexp ...
534
 
          # pattern match on Referer header
 
585
          # pattern match on Referer header [fast]
535
586
          # Referer is highly unreliable, so use with care
536
587
 
537
588
        acl aclname ident username ...
538
589
        acl aclname ident_regex [-i] pattern ...
539
 
          # string match on ident output.
 
590
          # string match on ident output [slow]
540
591
          # use REQUIRED to accept any non-null ident.
541
592
 
542
593
        acl aclname proxy_auth [-i] username ...
543
594
        acl aclname proxy_auth_regex [-i] pattern ...
544
 
          # list of valid usernames
 
595
          # perform http authentication challenge to the client and match against
 
596
          # supplied credentials [slow]
 
597
          #
 
598
          # takes a list of allowed usernames.
545
599
          # use REQUIRED to accept any valid username.
546
600
          #
 
601
          # Will use proxy authentication in forward-proxy scenarios, and plain
 
602
          # http authenticaiton in reverse-proxy scenarios
 
603
          #
547
604
          # NOTE: when a Proxy-Authentication header is sent but it is not
548
605
          # needed during ACL checking the username is NOT logged
549
606
          # in access.log.
557
614
          # to respond to proxy authentication.
558
615
 
559
616
        acl aclname snmp_community string ...
560
 
          # A community string to limit access to your SNMP Agent
 
617
          # A community string to limit access to your SNMP Agent [fast]
561
618
          # Example:
562
619
          #
563
620
          #     acl snmppublic snmp_community public
564
621
 
565
622
        acl aclname maxconn number
566
623
          # This will be matched when the client's IP address has
567
 
          # more than <number> HTTP connections established.
 
624
          # more than <number> HTTP connections established. [fast]
568
625
 
569
626
        acl aclname max_user_ip [-s] number
570
627
          # This will be matched when the user attempts to log in from more
571
628
          # than <number> different ip addresses. The authenticate_ip_ttl
572
 
          # parameter controls the timeout on the ip entries.
 
629
          # parameter controls the timeout on the ip entries. [fast]
573
630
          # If -s is specified the limit is strict, denying browsing
574
631
          # from any further IP addresses until the ttl has expired. Without
575
632
          # -s Squid will just annoy the user by "randomly" denying requests.
582
639
        acl aclname req_mime_type [-i] mime-type ...
583
640
          # regex match against the mime type of the request generated
584
641
          # by the client. Can be used to detect file upload or some
585
 
          # types HTTP tunneling requests.
 
642
          # types HTTP tunneling requests [fast]
586
643
          # NOTE: This does NOT match the reply. You cannot use this
587
644
          # to match the returned file type.
588
645
 
589
646
        acl aclname req_header header-name [-i] any\.regex\.here
590
647
          # regex match against any of the known request headers.  May be
591
648
          # thought of as a superset of "browser", "referer" and "mime-type"
592
 
          # ACLs.
 
649
          # ACL [fast]
593
650
 
594
651
        acl aclname rep_mime_type [-i] mime-type ...
595
652
          # regex match against the mime type of the reply received by
596
653
          # squid. Can be used to detect file download or some
597
 
          # types HTTP tunneling requests.
 
654
          # types HTTP tunneling requests. [fast]
598
655
          # NOTE: This has no effect in http_access rules. It only has
599
656
          # effect in rules that affect the reply data stream such as
600
657
          # http_reply_access.
602
659
        acl aclname rep_header header-name [-i] any\.regex\.here
603
660
          # regex match against any of the known reply headers. May be
604
661
          # thought of as a superset of "browser", "referer" and "mime-type"
605
 
          # ACLs.
 
662
          # ACLs [fast]
606
663
 
607
664
        acl aclname external class_name [arguments...]
608
665
          # external ACL lookup via a helper class defined by the
609
 
          # external_acl_type directive.
 
666
          # external_acl_type directive [slow]
610
667
 
611
668
        acl aclname user_cert attribute values...
612
669
          # match against attributes in a user SSL certificate
613
 
          # attribute is one of DN/C/O/CN/L/ST
 
670
          # attribute is one of DN/C/O/CN/L/ST [fast]
614
671
 
615
672
        acl aclname ca_cert attribute values...
616
673
          # match against attributes a users issuing CA SSL certificate
617
 
          # attribute is one of DN/C/O/CN/L/ST
 
674
          # attribute is one of DN/C/O/CN/L/ST [fast]
618
675
 
619
676
        acl aclname ext_user username ...
620
677
        acl aclname ext_user_regex [-i] pattern ...
621
 
          # string match on username returned by external acl helper
 
678
          # string match on username returned by external acl helper [slow]
622
679
          # use REQUIRED to accept any non-null user name.
623
680
 
624
 
Examples:
625
 
acl macaddress arp 09:00:2b:23:45:67
626
 
acl myexample dst_as 1241
627
 
acl password proxy_auth REQUIRED
628
 
acl fileupload req_mime_type -i ^multipart/form-data$
629
 
acl javascript rep_mime_type -i ^application/x-javascript$
 
681
        acl aclname tag tagvalue ...
 
682
          # string match on tag returned by external acl helper [slow]
 
683
 
 
684
        Examples:
 
685
                acl macaddress arp 09:00:2b:23:45:67
 
686
                acl myexample dst_as 1241
 
687
                acl password proxy_auth REQUIRED
 
688
                acl fileupload req_mime_type -i ^multipart/form-data$
 
689
                acl javascript rep_mime_type -i ^application/x-javascript$
630
690
 
631
691
NOCOMMENT_START
632
 
#Recommended minimum configuration:
 
692
#
 
693
# Recommended minimum configuration:
 
694
#
633
695
acl manager proto cache_object
634
696
acl localhost src 127.0.0.1/32
 
697
@IPV6_ONLY_SETTING@acl localhost src ::1/128
635
698
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
636
 
#
 
699
@IPV6_ONLY_SETTING@acl to_localhost dst ::1/128
 
700
 
637
701
# Example rule allowing access from your local networks.
638
702
# Adapt to list your (internal) IP networks from where browsing
639
703
# should be allowed
640
704
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
641
705
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
642
706
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
643
 
#
 
707
@IPV6_ONLY_SETTING@acl localnet src fc00::/7   # RFC 4193 local private network range
 
708
@IPV6_ONLY_SETTING@acl localnet src fe80::/10  # RFC 4291 link-local (directly plugged) machines
 
709
 
644
710
acl SSL_ports port 443
645
711
acl Safe_ports port 80          # http
646
712
acl Safe_ports port 21          # ftp
656
722
NOCOMMENT_END
657
723
DOC_END
658
724
 
 
725
NAME: follow_x_forwarded_for
 
726
TYPE: acl_access
 
727
IFDEF: FOLLOW_X_FORWARDED_FOR
 
728
LOC: Config.accessList.followXFF
 
729
DEFAULT: none
 
730
DEFAULT_IF_NONE: deny all
 
731
DOC_START
 
732
        Allowing or Denying the X-Forwarded-For header to be followed to
 
733
        find the original source of a request.
 
734
 
 
735
        Requests may pass through a chain of several other proxies
 
736
        before reaching us.  The X-Forwarded-For header will contain a
 
737
        comma-separated list of the IP addresses in the chain, with the
 
738
        rightmost address being the most recent.
 
739
 
 
740
        If a request reaches us from a source that is allowed by this
 
741
        configuration item, then we consult the X-Forwarded-For header
 
742
        to see where that host received the request from.  If the
 
743
        X-Forwarded-For header contains multiple addresses, and if
 
744
        acl_uses_indirect_client is on, then we continue backtracking
 
745
        until we reach an address for which we are not allowed to
 
746
        follow the X-Forwarded-For header, or until we reach the first
 
747
        address in the list.  (If acl_uses_indirect_client is off, then
 
748
        it's impossible to backtrack through more than one level of
 
749
        X-Forwarded-For addresses.)
 
750
 
 
751
        The end result of this process is an IP address that we will
 
752
        refer to as the indirect client address.  This address may
 
753
        be treated as the client address for access control, ICAP, delay
 
754
        pools and logging, depending on the acl_uses_indirect_client,
 
755
        icap_uses_indirect_client, delay_pool_uses_indirect_client and
 
756
        log_uses_indirect_client options.
 
757
 
 
758
        This clause only supports fast acl types.
 
759
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
 
760
 
 
761
        SECURITY CONSIDERATIONS:
 
762
 
 
763
                Any host for which we follow the X-Forwarded-For header
 
764
                can place incorrect information in the header, and Squid
 
765
                will use the incorrect information as if it were the
 
766
                source address of the request.  This may enable remote
 
767
                hosts to bypass any access control restrictions that are
 
768
                based on the client's source addresses.
 
769
 
 
770
        For example:
 
771
 
 
772
                acl localhost src 127.0.0.1
 
773
                acl my_other_proxy srcdomain .proxy.example.com
 
774
                follow_x_forwarded_for allow localhost
 
775
                follow_x_forwarded_for allow my_other_proxy
 
776
DOC_END
 
777
 
 
778
NAME: acl_uses_indirect_client
 
779
COMMENT: on|off
 
780
TYPE: onoff
 
781
IFDEF: FOLLOW_X_FORWARDED_FOR
 
782
DEFAULT: on
 
783
LOC: Config.onoff.acl_uses_indirect_client
 
784
DOC_START
 
785
        Controls whether the indirect client address
 
786
        (see follow_x_forwarded_for) is used instead of the
 
787
        direct client address in acl matching.
 
788
DOC_END
 
789
 
 
790
NAME: delay_pool_uses_indirect_client
 
791
COMMENT: on|off
 
792
TYPE: onoff
 
793
IFDEF: FOLLOW_X_FORWARDED_FOR&&DELAY_POOLS
 
794
DEFAULT: on
 
795
LOC: Config.onoff.delay_pool_uses_indirect_client
 
796
DOC_START
 
797
        Controls whether the indirect client address
 
798
        (see follow_x_forwarded_for) is used instead of the
 
799
        direct client address in delay pools.
 
800
DOC_END
 
801
 
 
802
NAME: log_uses_indirect_client
 
803
COMMENT: on|off
 
804
TYPE: onoff
 
805
IFDEF: FOLLOW_X_FORWARDED_FOR
 
806
DEFAULT: on
 
807
LOC: Config.onoff.log_uses_indirect_client
 
808
DOC_START
 
809
        Controls whether the indirect client address
 
810
        (see follow_x_forwarded_for) is used instead of the
 
811
        direct client address in the access log.
 
812
DOC_END
 
813
 
659
814
NAME: http_access
660
815
TYPE: acl_access
661
816
LOC: Config.accessList.http
676
831
        opposite of the last line in the list.  If the last line was
677
832
        deny, the default is allow.  Conversely, if the last line
678
833
        is allow, the default will be deny.  For these reasons, it is a
679
 
        good idea to have an "deny all" or "allow all" entry at the end
680
 
        of your access lists to avoid potential confusion.
 
834
        good idea to have an "deny all" entry at the end of your access
 
835
        lists to avoid potential confusion.
 
836
 
 
837
        This clause supports both fast and slow acl types.
 
838
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
681
839
 
682
840
NOCOMMENT_START
683
 
#Recommended minimum configuration:
 
841
 
 
842
#
 
843
# Recommended minimum Access Permission configuration:
684
844
#
685
845
# Only allow cachemgr access from localhost
686
846
http_access allow manager localhost
687
847
http_access deny manager
688
 
# Deny requests to unknown ports
 
848
 
 
849
# Deny requests to certain unsafe ports
689
850
http_access deny !Safe_ports
690
 
# Deny CONNECT to other than SSL ports
 
851
 
 
852
# Deny CONNECT to other than secure SSL ports
691
853
http_access deny CONNECT !SSL_ports
692
 
#
 
854
 
693
855
# We strongly recommend the following be uncommented to protect innocent
694
856
# web applications running on the proxy server who think the only
695
857
# one who can access services on "localhost" is a local user
696
858
#http_access deny to_localhost
 
859
 
697
860
#
698
861
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
 
862
#
699
863
 
700
864
# Example rule allowing access from your local networks.
701
865
# Adapt localnet in the ACL section to list your (internal) IP networks
702
866
# from where browsing should be allowed
703
867
http_access allow localnet
 
868
http_access allow localhost
704
869
 
705
870
# And finally deny all other access to this proxy
706
871
http_access deny all
707
872
NOCOMMENT_END
708
873
DOC_END
709
874
 
 
875
NAME: adapted_http_access http_access2
 
876
TYPE: acl_access
 
877
LOC: Config.accessList.adapted_http
 
878
DEFAULT: none
 
879
DOC_START
 
880
        Allowing or Denying access based on defined access lists
 
881
 
 
882
        Essentially identical to http_access, but runs after redirectors
 
883
        and ICAP/eCAP adaptation. Allowing access control based on their
 
884
        output.
 
885
 
 
886
        If not set then only http_access is used.
 
887
DOC_END
 
888
 
710
889
NAME: http_reply_access
711
890
TYPE: acl_access
712
891
LOC: Config.accessList.reply
722
901
        If none of the access lines cause a match the opposite of the
723
902
        last line will apply. Thus it is good practice to end the rules
724
903
        with an "allow all" or "deny all" entry.
 
904
 
 
905
        This clause supports both fast and slow acl types.
 
906
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
725
907
DOC_END
726
908
 
727
909
NAME: icp_access
737
919
 
738
920
        See http_access for details
739
921
 
740
 
NOCOMMENT_START
741
 
#Allow ICP queries from local networks only
742
 
icp_access allow localnet
743
 
icp_access deny all
744
 
NOCOMMENT_END
 
922
        This clause only supports fast acl types.
 
923
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
 
924
 
 
925
# Allow ICP queries from local networks only
 
926
#icp_access allow localnet
 
927
#icp_access deny all
745
928
DOC_END
746
929
 
747
930
NAME: htcp_access
762
945
        deny all traffic. This default may cause problems with peers
763
946
        using the htcp or htcp-oldsquid options.
764
947
 
765
 
NOCOMMENT_START
766
 
#Allow HTCP queries from local networks only
767
 
htcp_access allow localnet
768
 
htcp_access deny all
769
 
NOCOMMENT_END
 
948
        This clause only supports fast acl types.
 
949
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
 
950
 
 
951
# Allow HTCP queries from local networks only
 
952
#htcp_access allow localnet
 
953
#htcp_access deny all
770
954
DOC_END
771
955
 
772
956
NAME: htcp_clr_access
783
967
 
784
968
        See http_access for details
785
969
 
786
 
#Allow HTCP CLR requests from trusted peers
 
970
        This clause only supports fast acl types.
 
971
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
 
972
 
 
973
# Allow HTCP CLR requests from trusted peers
787
974
acl htcp_clr_peer src 172.16.1.2
788
975
htcp_clr_access allow htcp_clr_peer
789
976
DOC_END
791
978
NAME: miss_access
792
979
TYPE: acl_access
793
980
LOC: Config.accessList.miss
794
 
DEFAULT: none
 
981
DEFAULT: allow all
795
982
DOC_START
796
983
        Use to force your neighbors to use you as a sibling instead of
797
984
        a parent.  For example:
806
993
        By default, allow all clients who passed the http_access rules
807
994
        to fetch MISSES from us.
808
995
 
809
 
NOCOMMENT_START
810
 
#Default setting:
811
 
# miss_access allow all
812
 
NOCOMMENT_END
 
996
        This clause only supports fast acl types.
 
997
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
813
998
DOC_END
814
999
 
815
1000
NAME: ident_lookup_access
817
1002
IFDEF: USE_IDENT
818
1003
DEFAULT: none
819
1004
DEFAULT_IF_NONE: deny all
820
 
LOC: Config.accessList.identLookup
 
1005
LOC: Ident::TheConfig.identLookup
821
1006
DOC_START
822
1007
        A list of ACL elements which, if matched, cause an ident
823
1008
        (RFC 931) lookup to be performed for this request.  For
829
1014
        To enable ident lookups for specific client addresses, you
830
1015
        can follow this example:
831
1016
 
832
 
        acl ident_aware_hosts src 198.168.1.0/255.255.255.0
 
1017
        acl ident_aware_hosts src 198.168.1.0/24
833
1018
        ident_lookup_access allow ident_aware_hosts
834
1019
        ident_lookup_access deny all
835
1020
 
836
 
        Only src type ACL checks are fully supported.  A src_domain
 
1021
        Only src type ACL checks are fully supported.  A srcdomain
837
1022
        ACL might work at times, but it will not always provide
838
1023
        the correct result.
 
1024
 
 
1025
        This clause only supports fast acl types.
 
1026
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
839
1027
DOC_END
840
1028
 
841
1029
NAME: reply_body_max_size
913
1101
 
914
1102
        Options:
915
1103
 
916
 
           transparent  Support for transparent interception of
 
1104
           intercept    Support for IP-Layer interception of
917
1105
                        outgoing requests without browser settings.
918
 
                        NP: disables authentication on the port.
 
1106
                        NP: disables authentication and IPv6 on the port.
919
1107
 
920
1108
           tproxy       Support Linux TPROXY for spoofing outgoing
921
1109
                        connections using the client IP address.
922
 
                        NP: disables authentication on the port.
 
1110
                        NP: disables authentication and maybe IPv6 on the port.
923
1111
 
924
1112
           accel        Accelerator mode. Also needs at least one of
925
1113
                        vhost / vport / defaultsite.
926
1114
 
 
1115
           allow-direct Allow direct forwarding in accelerator mode. Normally
 
1116
                        accelerated requests are denied direct forwarding as if
 
1117
                        never_direct was used.
 
1118
 
927
1119
           defaultsite=domainname
928
1120
                        What to use for the Host: header if it is not present
929
1121
                        in a request. Determines what site (not origin server)
942
1134
           protocol=    Protocol to reconstruct accelerated requests with.
943
1135
                        Defaults to http.
944
1136
 
 
1137
           ignore-cc    Ignore request Cache-Control headers.
 
1138
 
 
1139
                        Warning: This option violates HTTP specifications if
 
1140
                        used in non-accelerator setups.
 
1141
 
 
1142
           connection-auth[=on|off]
 
1143
                        use connection-auth=off to tell Squid to prevent 
 
1144
                        forwarding Microsoft connection oriented authentication
 
1145
                        (NTLM, Negotiate and Kerberos)
 
1146
 
945
1147
           disable-pmtu-discovery=
946
1148
                        Control Path-MTU discovery usage:
947
1149
                            off         lets OS decide on what to do (default).
958
1160
                        sporadically hang or never complete requests set
959
1161
                        disable-pmtu-discovery option to 'transparent'.
960
1162
 
 
1163
           sslBump      Intercept each CONNECT request matching ssl_bump ACL,
 
1164
                        establish secure connection with the client and with
 
1165
                        the server, decrypt HTTP messages as they pass through
 
1166
                        Squid, and treat them as unencrypted HTTP messages,
 
1167
                        becoming the man-in-the-middle.
 
1168
 
 
1169
                        When this option is enabled, additional options become
 
1170
                        available to specify SSL-related properties of the
 
1171
                        client-side connection: cert, key, version, cipher,
 
1172
                        options, clientca, cafile, capath, crlfile, dhparams,
 
1173
                        sslflags, and sslcontext. See the https_port directive
 
1174
                        for more information on these options.
 
1175
 
 
1176
                        The ssl_bump option is required to fully enable
 
1177
                        the SslBump feature.
 
1178
 
961
1179
           name=        Specifies a internal name for the port. Defaults to
962
1180
                        the port specification (port or addr:port)
963
1181
 
 
1182
           tcpkeepalive[=idle,interval,timeout]
 
1183
                        Enable TCP keepalive probes of idle connections
 
1184
                        idle is the initial time before TCP starts probing
 
1185
                        the connection, interval how often to probe, and
 
1186
                        timeout the time before giving up.
 
1187
 
964
1188
        If you run Squid on a dual-homed machine with an internal
965
1189
        and an external interface we recommend you to specify the
966
1190
        internal address:port in http_port. This way Squid will only be
967
1191
        visible on the internal address.
968
1192
 
969
1193
NOCOMMENT_START
 
1194
 
970
1195
# Squid normally listens to port 3128
971
1196
http_port @DEFAULT_HTTP_PORT@
972
1197
NOCOMMENT_END
1098
1323
        tcp_outgoing_tos 0x20 good_service_net
1099
1324
 
1100
1325
        TOS/DSCP values really only have local significance - so you should
1101
 
        know what you're specifying. For more information, see RFC2474 and
1102
 
        RFC3260.
 
1326
        know what you're specifying. For more information, see RFC2474,
 
1327
        RFC2475, and RFC3260.
1103
1328
 
1104
1329
        The TOS/DSCP byte must be exactly that - a octet value  0 - 255, or
1105
1330
        "default" to use whatever default your host has. Note that in
1125
1350
        making the request.
1126
1351
DOC_END
1127
1352
 
 
1353
NAME: qos_flows
 
1354
TYPE: QosConfig
 
1355
IFDEF: USE_ZPH_QOS
 
1356
DEFAULT: none
 
1357
LOC: Config.zph
 
1358
DOC_START
 
1359
        Allows you to select a TOS/DSCP value to mark outgoing
 
1360
        connections with, based on where the reply was sourced.
 
1361
 
 
1362
        TOS values really only have local significance - so you should
 
1363
        know what you're specifying. For more information, see RFC2474,
 
1364
        RFC2475, and RFC3260.
 
1365
 
 
1366
        The TOS/DSCP byte must be exactly that - octet value 0x00-0xFF.
 
1367
        Note that in practice often only values up to 0x3F are usable
 
1368
        as the two highest bits have been redefined for use by ECN
 
1369
        (RFC3168).
 
1370
 
 
1371
        This setting is configured by setting the source TOS values:
 
1372
 
 
1373
        local-hit=0xFF          Value to mark local cache hits.
 
1374
 
 
1375
        sibling-hit=0xFF        Value to mark hits from sibling peers.
 
1376
 
 
1377
        parent-hit=0xFF         Value to mark hits from parent peers.
 
1378
 
 
1379
 
 
1380
        NOTE: 'miss' preserve feature is only possible on Linux at this time.
 
1381
 
 
1382
        For the following to work correctly, you will need to patch your
 
1383
        linux kernel with the TOS preserving ZPH patch.
 
1384
        The kernel patch can be downloaded from http://zph.bratcheda.org
 
1385
 
 
1386
        disable-preserve-miss
 
1387
                If set, any HTTP response towards clients will
 
1388
                have the TOS value of the response comming from the
 
1389
                remote server masked with the value of miss-mask.
 
1390
 
 
1391
        miss-mask=0xFF
 
1392
                Allows you to mask certain bits in the TOS received from the
 
1393
                remote server, before copying the value to the TOS sent
 
1394
                towards clients.
 
1395
                Default: 0xFF (TOS from server is not changed).
 
1396
 
 
1397
DOC_END
 
1398
 
1128
1399
NAME: tcp_outgoing_address
1129
1400
TYPE: acl_address
1130
1401
DEFAULT: none
1154
1425
        incompatible with the use of server side persistent connections. To
1155
1426
        ensure correct results it is best to set server_persistent_connections
1156
1427
        to off when using this directive in such configurations.
 
1428
 
 
1429
 
 
1430
        IPv6 Magic:
 
1431
 
 
1432
        Squid is built with a capability of bridging the IPv4 and IPv6 
 
1433
        internets.
 
1434
        tcp_outgoing_address as exampled above breaks this bridging by forcing
 
1435
        all outbound traffic through a certain IPv4 which may be on the wrong
 
1436
        side of the IPv4/IPv6 boundary.
 
1437
 
 
1438
        To operate with tcp_outgoing_address and keep the bridging benefits
 
1439
        an additional ACL needs to be used which ensures the IPv6-bound traffic
 
1440
        is never forced or permitted out the IPv4 interface.
 
1441
 
 
1442
        acl to_ipv6 dst ipv6
 
1443
        tcp_outgoing_address 2002::c001 good_service_net to_ipv6
 
1444
        tcp_outgoing_address 10.1.0.2 good_service_net !to_ipv6
 
1445
 
 
1446
        tcp_outgoing_address 2002::beef normal_service_net to_ipv6
 
1447
        tcp_outgoing_address 10.1.0.1 normal_service_net !to_ipv6
 
1448
 
 
1449
        tcp_outgoing_address 2002::1 to_ipv6
 
1450
        tcp_outgoing_address 10.1.0.3 !to_ipv6
 
1451
 
 
1452
        WARNING:
 
1453
          'dst ipv6' bases its selection assuming DIRECT access.
 
1454
          If peers are used the peername ACL are needed to select outgoing
 
1455
          address which can link to the peer.
 
1456
 
 
1457
          'dst ipv6' is a slow ACL. It will only work here if 'dst' is used
 
1458
          previously in the http_access rules to locate the destination IP.
 
1459
          Some more magic may be needed for that:
 
1460
            http_access allow to_ipv6 !all
 
1461
          (meaning, allow if to IPv6 but not from anywhere ;)
 
1462
 
1157
1463
DOC_END
1158
1464
 
1159
1465
COMMENT_START
1215
1521
TYPE: string
1216
1522
DOC_START
1217
1523
        SSL engine options to use when proxying https:// URLs
 
1524
        
 
1525
        The most important being:
 
1526
 
 
1527
                NO_SSLv2  Disallow the use of SSLv2
 
1528
                NO_SSLv3  Disallow the use of SSLv3
 
1529
                NO_TLSv1  Disallow the use of TLSv1
 
1530
                SINGLE_DH_USE
 
1531
                        Always create a new key when using
 
1532
                        temporary/ephemeral DH key exchanges
 
1533
        
 
1534
        These options vary depending on your SSL engine.
 
1535
        See the OpenSSL SSL_CTX_set_options documentation for a
 
1536
        complete list of possible options.
1218
1537
DOC_END
1219
1538
 
1220
1539
NAME: sslproxy_cipher
1224
1543
TYPE: string
1225
1544
DOC_START
1226
1545
        SSL cipher list to use when proxying https:// URLs
 
1546
 
 
1547
        Colon separated list of supported ciphers.
1227
1548
DOC_END
1228
1549
 
1229
1550
NAME: sslproxy_cafile
1246
1567
        server certificates while proxying https:// URLs
1247
1568
DOC_END
1248
1569
 
 
1570
NAME: ssl_bump
 
1571
IFDEF: USE_SSL
 
1572
TYPE: acl_access
 
1573
LOC: Config.accessList.ssl_bump
 
1574
DEFAULT: none
 
1575
DOC_START
 
1576
        This ACL controls which CONNECT requests to an http_port
 
1577
        marked with an sslBump flag are actually "bumped". Please 
 
1578
        see the sslBump flag of an http_port option for more details
 
1579
        about decoding proxied SSL connections.
 
1580
 
 
1581
        By default, no requests are bumped.
 
1582
 
 
1583
        See also: http_port sslBump
 
1584
   
 
1585
        This clause only supports fast acl types.
 
1586
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
 
1587
 
 
1588
 
 
1589
        # Example: Bump all requests except those originating from localhost and 
 
1590
        # those going to webax.com or example.com sites.
 
1591
 
 
1592
        acl localhost src 127.0.0.1/32
 
1593
        acl broken_sites dstdomain .webax.com
 
1594
        acl broken_sites dstdomain .example.com
 
1595
        ssl_bump deny localhost
 
1596
        ssl_bump deny broken_sites
 
1597
        ssl_bump allow all
 
1598
DOC_END
 
1599
 
1249
1600
NAME: sslproxy_flags
1250
1601
IFDEF: USE_SSL
1251
1602
DEFAULT: none
1253
1604
TYPE: string
1254
1605
DOC_START
1255
1606
        Various flags modifying the use of SSL while proxying https:// URLs:
1256
 
            DONT_VERIFY_PEER    Accept certificates even if they fail to
1257
 
                                verify.
 
1607
            DONT_VERIFY_PEER    Accept certificates that fail verification.
 
1608
                                For refined control, see sslproxy_cert_error.
1258
1609
            NO_DEFAULT_CA       Don't use the default CA list built in
1259
1610
                                to OpenSSL.
1260
1611
DOC_END
1261
1612
 
 
1613
 
 
1614
NAME: sslproxy_cert_error
 
1615
IFDEF: USE_SSL
 
1616
DEFAULT: none
 
1617
LOC: Config.ssl_client.cert_error
 
1618
TYPE: acl_access
 
1619
DOC_START
 
1620
        Use this ACL to bypass server certificate validation errors.
 
1621
 
 
1622
        For example, the following lines will bypass all validation errors
 
1623
        when talking to servers located at 172.16.0.0/16. All other
 
1624
        validation errors will result in ERR_SECURE_CONNECT_FAIL error.
 
1625
 
 
1626
                acl BrokenServersAtTrustedIP dst 172.16.0.0/16
 
1627
                sslproxy_cert_error allow BrokenServersAtTrustedIP
 
1628
                sslproxy_cert_error deny all
 
1629
 
 
1630
        This clause only supports fast acl types.
 
1631
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
 
1632
        Using slow acl types may result in server crashes
 
1633
 
 
1634
        Without this option, all server certificate validation errors
 
1635
        terminate the transaction. Bypassing validation errors is dangerous
 
1636
        because an error usually implies that the server cannot be trusted and
 
1637
        the connection may be insecure.
 
1638
 
 
1639
        See also: sslproxy_flags and DONT_VERIFY_PEER.
 
1640
 
 
1641
        Default setting:  sslproxy_cert_error deny all
 
1642
DOC_END
 
1643
 
 
1644
 
 
1645
 
1262
1646
NAME: sslpassword_program
1263
1647
IFDEF: USE_SSL
1264
1648
DEFAULT: none
1282
1666
LOC: Config.peers
1283
1667
DOC_START
1284
1668
        To specify other caches in a hierarchy, use the format:
1285
 
 
 
1669
        
1286
1670
                cache_peer hostname type http-port icp-port [options]
1287
 
 
 
1671
        
1288
1672
        For example,
1289
 
 
 
1673
        
1290
1674
        #                                        proxy  icp
1291
1675
        #          hostname             type     port   port  options
1292
1676
        #          -------------------- -------- ----- -----  -----------
1293
 
        cache_peer parent.foo.net       parent    3128  3130  proxy-only default
 
1677
        cache_peer parent.foo.net       parent    3128  3130  default
1294
1678
        cache_peer sib1.foo.net         sibling   3128  3130  proxy-only
1295
1679
        cache_peer sib2.foo.net         sibling   3128  3130  proxy-only
1296
 
 
1297
 
              type:  either 'parent', 'sibling', or 'multicast'.
1298
 
 
1299
 
        proxy-port:  The port number where the cache listens for proxy
1300
 
                     requests.
1301
 
 
1302
 
          icp-port:  Used for querying neighbor caches about
1303
 
                     objects.  To have a non-ICP neighbor
1304
 
                     specify '7' for the ICP port and make sure the
1305
 
                     neighbor machine has the UDP echo port
1306
 
                     enabled in its /etc/inetd.conf file.
1307
 
                NOTE: Also requires icp_port option enabled to send/receive
1308
 
                      requests via this method.
1309
 
 
1310
 
            options: proxy-only
1311
 
                     weight=n
1312
 
                     basetime=n
1313
 
                     ttl=n
1314
 
                     no-query
1315
 
                     background-ping
1316
 
                     default
1317
 
                     round-robin
1318
 
                     weighted-round-robin
1319
 
                     carp
1320
 
                     userhash
1321
 
                     sourcehash
1322
 
                     multicast-responder
1323
 
                     closest-only
1324
 
                     no-digest
1325
 
                     no-netdb-exchange
1326
 
                     no-delay
1327
 
                     login=user:password | PASS | *:password
1328
 
                     connect-timeout=nn
1329
 
                     digest-url=url
1330
 
                     allow-miss
1331
 
                     max-conn=n
1332
 
                     htcp
1333
 
                     htcp-oldsquid
1334
 
                     originserver
1335
 
                     name=xxx
1336
 
                     forceddomain=name
1337
 
                     ssl
1338
 
                     sslcert=/path/to/ssl/certificate
1339
 
                     sslkey=/path/to/ssl/key
1340
 
                     sslversion=1|2|3|4
1341
 
                     sslcipher=...
1342
 
                     ssloptions=...
1343
 
                     front-end-https[=on|auto]
1344
 
 
1345
 
                     use 'proxy-only' to specify objects fetched
1346
 
                     from this cache should not be saved locally.
1347
 
 
1348
 
                     use 'weight=n' to affect the selection of a peer
1349
 
                     during any weighted peer-selection mechanisms.
1350
 
                     The weight must be an integer; default is 1,
1351
 
                     larger weights are favored more.
1352
 
                     This option does not affect parent selection if a peering
1353
 
                     protocol is not in use.
1354
 
 
1355
 
                     use 'basetime=n' to specify a base amount to
1356
 
                     be subtracted from round trip times of parents.
1357
 
                     It is subtracted before division by weight in calculating
1358
 
                     which parent to fectch from. If the rtt is less than the
1359
 
                     base time the rtt is set to a minimal value.
1360
 
 
1361
 
                     use 'ttl=n' to specify a IP multicast TTL to use
1362
 
                     when sending an ICP queries to this address.
1363
 
                     Only useful when sending to a multicast group.
1364
 
                     Because we don't accept ICP replies from random
1365
 
                     hosts, you must configure other group members as
1366
 
                     peers with the 'multicast-responder' option below.
1367
 
 
1368
 
                     use 'no-query' to NOT send ICP queries to this
1369
 
                     neighbor.
1370
 
 
1371
 
                     use 'background-ping' to only send ICP queries to this
1372
 
                     neighbor infrequently. This is used to keep the neighbor
1373
 
                     round trip time updated and is usually used in
1374
 
                     conjunction with weighted-round-robin.
1375
 
 
1376
 
                     use 'default' if this is a parent cache which can
1377
 
                     be used as a "last-resort" if a peer cannot be located
1378
 
                     by any of the peer-selection mechanisms.
1379
 
                     If specified more than once, only the first is used.
1380
 
 
1381
 
                     use 'round-robin' to define a set of parents which
1382
 
                     should be used in a round-robin fashion in the
1383
 
                     absence of any ICP queries.
1384
 
 
1385
 
                     use 'weighted-round-robin' to define a set of parents
1386
 
                     which should be used in a round-robin fashion with the
1387
 
                     frequency of each parent being based on the round trip
1388
 
                     time. Closer parents are used more often.
1389
 
                     Usually used for background-ping parents.
1390
 
 
1391
 
                     use 'carp' to define a set of parents which should
1392
 
                     be used as a CARP array. The requests will be
1393
 
                     distributed among the parents based on the CARP load
1394
 
                     balancing hash function based on their weight.
1395
 
 
1396
 
                     use 'userhash' to load-balance amongst a set of parents
1397
 
                     based on the client proxy_auth or ident username.
1398
 
 
1399
 
                     use 'sourcehash' to load-balance amongst a set of parents
1400
 
                     based on the client source ip.
1401
 
 
1402
 
                     'multicast-responder' indicates the named peer
1403
 
                     is a member of a multicast group.  ICP queries will
1404
 
                     not be sent directly to the peer, but ICP replies
1405
 
                     will be accepted from it.
1406
 
 
1407
 
                     'closest-only' indicates that, for ICP_OP_MISS
1408
 
                     replies, we'll only forward CLOSEST_PARENT_MISSes
1409
 
                     and never FIRST_PARENT_MISSes.
1410
 
 
1411
 
                     use 'no-digest' to NOT request cache digests from
1412
 
                     this neighbor.
1413
 
 
1414
 
                     'no-netdb-exchange' disables requesting ICMP
1415
 
                     RTT database (NetDB) from the neighbor.
1416
 
 
1417
 
                     use 'no-delay' to prevent access to this neighbor
1418
 
                     from influencing the delay pools.
1419
 
 
1420
 
                     use 'login=user:password' if this is a personal/workgroup
1421
 
                     proxy and your parent requires proxy authentication.
1422
 
                     Note: The string can include URL escapes (i.e. %20 for
1423
 
                     spaces). This also means % must be written as %%.
1424
 
 
1425
 
                     use 'login=PASS' if users must authenticate against
1426
 
                     the upstream proxy or in the case of a reverse proxy
1427
 
                     configuration, the origin web server.  This will pass
1428
 
                     the users credentials as they are to the peer.
1429
 
                     This only works for the Basic HTTP authentication scheme.
1430
 
                     Note: To combine this with proxy_auth both proxies must
1431
 
                     share the same user database as HTTP only allows for
1432
 
                     a single login (one for proxy, one for origin server).
1433
 
                     Also be warned this will expose your users proxy
1434
 
                     password to the peer. USE WITH CAUTION
1435
 
 
1436
 
                     use 'login=*:password' to pass the username to the
1437
 
                     upstream cache, but with a fixed password. This is meant
1438
 
                     to be used when the peer is in another administrative
1439
 
                     domain, but it is still needed to identify each user.
1440
 
                     The star can optionally be followed by some extra
1441
 
                     information which is added to the username. This can
1442
 
                     be used to identify this proxy to the peer, similar to
1443
 
                     the login=username:password option above.
1444
 
 
1445
 
                     use 'connect-timeout=nn' to specify a peer
1446
 
                     specific connect timeout (also see the
1447
 
                     peer_connect_timeout directive)
1448
 
 
1449
 
                     use 'digest-url=url' to tell Squid to fetch the cache
1450
 
                     digest (if digests are enabled) for this host from
1451
 
                     the specified URL rather than the Squid default
1452
 
                     location.
1453
 
 
1454
 
                     use 'allow-miss' to disable Squid's use of only-if-cached
1455
 
                     when forwarding requests to siblings. This is primarily
1456
 
                     useful when icp_hit_stale is used by the sibling. To
1457
 
                     extensive use of this option may result in forwarding
1458
 
                     loops, and you should avoid having two-way peerings
1459
 
                     with this option. (for example to deny peer usage on
1460
 
                     requests from peer by denying cache_peer_access if the
1461
 
                     source is a peer)
1462
 
 
1463
 
                     use 'max-conn=n' to limit the amount of connections Squid
1464
 
                     may open to this peer.
1465
 
 
1466
 
                     use 'htcp' to send HTCP, instead of ICP, queries
1467
 
                     to the neighbor.  You probably also want to
1468
 
                     set the "icp port" to 4827 instead of 3130.
1469
 
                     You MUST also set htcp_access expicitly. The default of
1470
 
                     deny all will prevent peer traffic.
1471
 
 
1472
 
                     use 'htcp-oldsquid' to send HTCP to old Squid versions
1473
 
                     You MUST also set htcp_access expicitly. The default of
1474
 
                     deny all will prevent peer traffic.                     
1475
 
 
1476
 
                     'originserver' causes this parent peer to be contacted as
1477
 
                     a origin server. Meant to be used in accelerator setups.
1478
 
 
1479
 
                     use 'name=xxx' if you have multiple peers on the same
1480
 
                     host but different ports. This name can be used to
1481
 
                     differentiate the peers in cache_peer_access and similar
1482
 
                     directives.
1483
 
 
1484
 
                     use 'forceddomain=name' to forcibly set the Host header
1485
 
                     of requests forwarded to this peer. Useful in accelerator
1486
 
                     setups where the server (peer) expects a certain domain
1487
 
                     name and using redirectors to feed this domain name
1488
 
                     is not feasible.
1489
 
 
1490
 
                     use 'ssl' to indicate connections to this peer should
1491
 
                     be SSL/TLS encrypted.
1492
 
 
1493
 
                     use 'sslcert=/path/to/ssl/certificate' to specify a client
1494
 
                     SSL certificate to use when connecting to this peer.
1495
 
 
1496
 
                     use 'sslkey=/path/to/ssl/key' to specify the private SSL
1497
 
                     key corresponding to sslcert above. If 'sslkey' is not
1498
 
                     specified 'sslcert' is assumed to reference a
1499
 
                     combined file containing both the certificate and the key.
1500
 
 
1501
 
                     use sslversion=1|2|3|4 to specify the SSL version to use
1502
 
                     when connecting to this peer
1503
 
                        1 = automatic (default)
1504
 
                        2 = SSL v2 only
1505
 
                        3 = SSL v3 only
1506
 
                        4 = TLS v1 only
1507
 
 
1508
 
                     use sslcipher=... to specify the list of valid SSL ciphers
1509
 
                     to use when connecting to this peer.
1510
 
 
1511
 
                     use ssloptions=... to specify various SSL engine options:
1512
 
                        NO_SSLv2  Disallow the use of SSLv2
1513
 
                        NO_SSLv3  Disallow the use of SSLv3
1514
 
                        NO_TLSv1  Disallow the use of TLSv1
1515
 
                     See src/ssl_support.c or the OpenSSL documentation for
1516
 
                     a more complete list.
1517
 
 
1518
 
                     use sslcafile=... to specify a file containing
1519
 
                     additional CA certificates to use when verifying the
1520
 
                     peer certificate.
1521
 
 
1522
 
                     use sslcapath=... to specify a directory containing
1523
 
                     additional CA certificates to use when verifying the
1524
 
                     peer certificate.
1525
 
 
1526
 
                     use sslcrlfile=... to specify a certificate revocation
1527
 
                     list file to use when verifying the peer certificate.
1528
 
                     
1529
 
                     use sslflags=... to specify various flags modifying the
1530
 
                     SSL implementation:
 
1680
        cache_peer example.com          parent    80       0  no-query default
 
1681
        cache_peer cdn.example.com      sibling   3128     0  
 
1682
        
 
1683
              type:     either 'parent', 'sibling', or 'multicast'.
 
1684
        
 
1685
        proxy-port:     The port number where the peer accept HTTP requests.
 
1686
                        For other Squid proxies this is usually 3128
 
1687
                        For web servers this is usually 80
 
1688
        
 
1689
          icp-port:     Used for querying neighbor caches about objects.
 
1690
                        Set to 0 if the peer does not support ICP or HTCP.
 
1691
                        See ICP and HTCP options below for additional details.
 
1692
        
 
1693
        
 
1694
        ==== ICP OPTIONS ====
 
1695
        
 
1696
        You MUST also set icp_port and icp_access explicitly when using these options.
 
1697
        The defaults will prevent peer traffic using ICP.
 
1698
        
 
1699
        
 
1700
        no-query        Disable ICP queries to this neighbor.
 
1701
        
 
1702
        multicast-responder
 
1703
                        Indicates the named peer is a member of a multicast group.
 
1704
                        ICP queries will not be sent directly to the peer, but ICP
 
1705
                        replies will be accepted from it.
 
1706
        
 
1707
        closest-only    Indicates that, for ICP_OP_MISS replies, we'll only forward
 
1708
                        CLOSEST_PARENT_MISSes and never FIRST_PARENT_MISSes.
 
1709
        
 
1710
        background-ping
 
1711
                        To only send ICP queries to this neighbor infrequently.
 
1712
                        This is used to keep the neighbor round trip time updated
 
1713
                        and is usually used in conjunction with weighted-round-robin.
 
1714
        
 
1715
        
 
1716
        ==== HTCP OPTIONS ====
 
1717
        
 
1718
        You MUST also set htcp_port and htcp_access explicitly when using these options.
 
1719
        The defaults will prevent peer traffic using HTCP.
 
1720
        
 
1721
        
 
1722
        htcp            Send HTCP, instead of ICP, queries to the neighbor.
 
1723
                        You probably also want to set the "icp-port" to 4827
 
1724
                        instead of 3130.
 
1725
        
 
1726
        htcp-oldsquid   Send HTCP to old Squid versions.
 
1727
        
 
1728
        htcp-no-clr     Send HTCP to the neighbor but without
 
1729
                        sending any CLR requests.  This cannot be used with
 
1730
                        htcp-only-clr.
 
1731
        
 
1732
        htcp-only-clr   Send HTCP to the neighbor but ONLY CLR requests.
 
1733
                        This cannot be used with htcp-no-clr.
 
1734
        
 
1735
        htcp-no-purge-clr
 
1736
                        Send HTCP to the neighbor including CLRs but only when
 
1737
                        they do not result from PURGE requests.
 
1738
        
 
1739
        htcp-forward-clr
 
1740
                        Forward any HTCP CLR requests this proxy receives to the peer.
 
1741
        
 
1742
        
 
1743
        ==== PEER SELECTION METHODS ====
 
1744
        
 
1745
        The default peer selection method is ICP, with the first responding peer
 
1746
        being used as source. These options can be used for better load balancing.
 
1747
        
 
1748
        
 
1749
        default         This is a parent cache which can be used as a "last-resort"
 
1750
                        if a peer cannot be located by any of the peer-selection methods.
 
1751
                        If specified more than once, only the first is used.
 
1752
        
 
1753
        round-robin     Load-Balance parents which should be used in a round-robin
 
1754
                        fashion in the absence of any ICP queries.
 
1755
                        weight=N can be used to add bias.
 
1756
        
 
1757
        weighted-round-robin
 
1758
                        Load-Balance parents which should be used in a round-robin
 
1759
                        fashion with the frequency of each parent being based on the
 
1760
                        round trip time. Closer parents are used more often.
 
1761
                        Usually used for background-ping parents.
 
1762
                        weight=N can be used to add bias.
 
1763
        
 
1764
        carp            Load-Balance parents which should be used as a CARP array.
 
1765
                        The requests will be distributed among the parents based on the
 
1766
                        CARP load balancing hash function based on their weight.
 
1767
        
 
1768
        userhash        Load-balance parents based on the client proxy_auth or ident username.
 
1769
        
 
1770
        sourcehash      Load-balance parents based on the client source IP.
 
1771
 
 
1772
        multicast-siblings
 
1773
                        To be used only for cache peers of type "multicast".
 
1774
                        ALL members of this multicast group have "sibling"
 
1775
                        relationship with it, not "parent".  This is to a mulicast
 
1776
                        group when the requested object would be fetched only from
 
1777
                        a "parent" cache, anyway.  It's useful, e.g., when
 
1778
                        configuring a pool of redundant Squid proxies, being
 
1779
                        members of the same multicast group.
 
1780
        
 
1781
        
 
1782
        ==== PEER SELECTION OPTIONS ====
 
1783
        
 
1784
        weight=N        use to affect the selection of a peer during any weighted
 
1785
                        peer-selection mechanisms.
 
1786
                        The weight must be an integer; default is 1,
 
1787
                        larger weights are favored more.
 
1788
                        This option does not affect parent selection if a peering
 
1789
                        protocol is not in use.
 
1790
        
 
1791
        basetime=N      Specify a base amount to be subtracted from round trip
 
1792
                        times of parents.
 
1793
                        It is subtracted before division by weight in calculating
 
1794
                        which parent to fectch from. If the rtt is less than the
 
1795
                        base time the rtt is set to a minimal value.
 
1796
        
 
1797
        ttl=N           Specify a IP multicast TTL to use when sending an ICP
 
1798
                        queries to this address.
 
1799
                        Only useful when sending to a multicast group.
 
1800
                        Because we don't accept ICP replies from random
 
1801
                        hosts, you must configure other group members as
 
1802
                        peers with the 'multicast-responder' option.
 
1803
        
 
1804
        no-delay        To prevent access to this neighbor from influencing the
 
1805
                        delay pools.
 
1806
        
 
1807
        digest-url=URL  Tell Squid to fetch the cache digest (if digests are
 
1808
                        enabled) for this host from the specified URL rather
 
1809
                        than the Squid default location.
 
1810
        
 
1811
        
 
1812
        ==== ACCELERATOR / REVERSE-PROXY OPTIONS ====
 
1813
        
 
1814
        originserver    Causes this parent to be contacted as an origin server.
 
1815
                        Meant to be used in accelerator setups when the peer
 
1816
                        is a web server.
 
1817
        
 
1818
        forceddomain=name
 
1819
                        Set the Host header of requests forwarded to this peer.
 
1820
                        Useful in accelerator setups where the server (peer)
 
1821
                        expects a certain domain name but clients may request
 
1822
                        others. ie example.com or www.example.com
 
1823
        
 
1824
        no-digest       Disable request of cache digests.
 
1825
        
 
1826
        no-netdb-exchange
 
1827
                        Disables requesting ICMP RTT database (NetDB).
 
1828
        
 
1829
        
 
1830
        ==== AUTHENTICATION OPTIONS ====
 
1831
        
 
1832
        login=user:password
 
1833
                        If this is a personal/workgroup proxy and your parent
 
1834
                        requires proxy authentication.
 
1835
                        
 
1836
                        Note: The string can include URL escapes (i.e. %20 for
 
1837
                        spaces). This also means % must be written as %%.
 
1838
        
 
1839
        login=PROXYPASS
 
1840
                        Send login details received from client to this peer.
 
1841
                        Authentication is not required, nor changed.
 
1842
                        
 
1843
                        Note: This will pass any form of authentication but
 
1844
                        only Basic auth will work through a proxy unless the
 
1845
                        connection-auth options are also used.
 
1846
        
 
1847
        login=PASS      Send login details received from client to this peer.
 
1848
                        Authentication is not required by this option.
 
1849
                        If there are no client-provided authentication headers
 
1850
                        to pass on, but username and password are available
 
1851
                        from either proxy login or an external ACL user= and
 
1852
                        password= result tags they may be sent instead.
 
1853
                        
 
1854
                        Note: To combine this with proxy_auth both proxies must
 
1855
                        share the same user database as HTTP only allows for
 
1856
                        a single login (one for proxy, one for origin server).
 
1857
                        Also be warned this will expose your users proxy
 
1858
                        password to the peer. USE WITH CAUTION
 
1859
        
 
1860
        login=*:password
 
1861
                        Send the username to the upstream cache, but with a
 
1862
                        fixed password. This is meant to be used when the peer
 
1863
                        is in another administrative domain, but it is still
 
1864
                        needed to identify each user.
 
1865
                        The star can optionally be followed by some extra
 
1866
                        information which is added to the username. This can
 
1867
                        be used to identify this proxy to the peer, similar to
 
1868
                        the login=username:password option above.
 
1869
        
 
1870
        connection-auth=on|off
 
1871
                        Tell Squid that this peer does or not support Microsoft
 
1872
                        connection oriented authentication, and any such
 
1873
                        challenges received from there should be ignored.
 
1874
                        Default is auto to automatically determine the status
 
1875
                        of the peer.
 
1876
        
 
1877
        
 
1878
        ==== SSL / HTTPS / TLS OPTIONS ====
 
1879
        
 
1880
        ssl             Encrypt connections to this peer with SSL/TLS.
 
1881
        
 
1882
        sslcert=/path/to/ssl/certificate
 
1883
                        A client SSL certificate to use when connecting to
 
1884
                        this peer.
 
1885
        
 
1886
        sslkey=/path/to/ssl/key
 
1887
                        The private SSL key corresponding to sslcert above.
 
1888
                        If 'sslkey' is not specified 'sslcert' is assumed to
 
1889
                        reference a combined file containing both the
 
1890
                        certificate and the key.
 
1891
        
 
1892
        sslversion=1|2|3|4
 
1893
                        The SSL version to use when connecting to this peer
 
1894
                                1 = automatic (default)
 
1895
                                2 = SSL v2 only
 
1896
                                3 = SSL v3 only
 
1897
                                4 = TLS v1 only
 
1898
        
 
1899
        sslcipher=...   The list of valid SSL ciphers to use when connecting
 
1900
                        to this peer.
 
1901
        
 
1902
        ssloptions=...  Specify various SSL engine options:
 
1903
                                NO_SSLv2  Disallow the use of SSLv2
 
1904
                                NO_SSLv3  Disallow the use of SSLv3
 
1905
                                NO_TLSv1  Disallow the use of TLSv1
 
1906
                        See src/ssl_support.c or the OpenSSL documentation for
 
1907
                        a more complete list.
 
1908
        
 
1909
        sslcafile=...   A file containing additional CA certificates to use
 
1910
                        when verifying the peer certificate.
 
1911
        
 
1912
        sslcapath=...   A directory containing additional CA certificates to
 
1913
                        use when verifying the peer certificate.
 
1914
        
 
1915
        sslcrlfile=...  A certificate revocation list file to use when
 
1916
                        verifying the peer certificate.
 
1917
        
 
1918
        sslflags=...    Specify various flags modifying the SSL implementation:
 
1919
        
1531
1920
                        DONT_VERIFY_PEER
1532
1921
                                Accept certificates even if they fail to
1533
1922
                                verify.
1537
1926
                        DONT_VERIFY_DOMAIN
1538
1927
                                Don't verify the peer certificate
1539
1928
                                matches the server name
1540
 
 
1541
 
                     use ssldomain= to specify the peer name as advertised
1542
 
                     in it's certificate. Used for verifying the correctness
1543
 
                     of the received peer certificate. If not specified the
1544
 
                     peer hostname will be used.
1545
 
 
1546
 
                     use front-end-https to enable the "Front-End-Https: On"
1547
 
                     header needed when using Squid as a SSL frontend in front
1548
 
                     of Microsoft OWA. See MS KB document Q307347 for details
1549
 
                     on this header. If set to auto the header will
1550
 
                     only be added if the request is forwarded as a https://
1551
 
                     URL.
 
1929
        
 
1930
        ssldomain=      The peer name as advertised in it's certificate.
 
1931
                        Used for verifying the correctness of the received peer
 
1932
                        certificate. If not specified the peer hostname will be
 
1933
                        used.
 
1934
        
 
1935
        front-end-https
 
1936
                        Enable the "Front-End-Https: On" header needed when
 
1937
                        using Squid as a SSL frontend in front of Microsoft OWA.
 
1938
                        See MS KB document Q307347 for details on this header.
 
1939
                        If set to auto the header will only be added if the
 
1940
                        request is forwarded as a https:// URL.
 
1941
        
 
1942
        
 
1943
        ==== GENERAL OPTIONS ====
 
1944
        
 
1945
        connect-timeout=N
 
1946
                        A peer-specific connect timeout.
 
1947
                        Also see the peer_connect_timeout directive.
 
1948
        
 
1949
        connect-fail-limit=N
 
1950
                        How many times connecting to a peer must fail before
 
1951
                        it is marked as down. Default is 10.
 
1952
        
 
1953
        allow-miss      Disable Squid's use of only-if-cached when forwarding
 
1954
                        requests to siblings. This is primarily useful when
 
1955
                        icp_hit_stale is used by the sibling. To extensive use
 
1956
                        of this option may result in forwarding loops, and you
 
1957
                        should avoid having two-way peerings with this option.
 
1958
                        For example to deny peer usage on requests from peer
 
1959
                        by denying cache_peer_access if the source is a peer.
 
1960
        
 
1961
        max-conn=N      Limit the amount of connections Squid may open to this
 
1962
                        peer. see also 
 
1963
        
 
1964
        name=xxx        Unique name for the peer.
 
1965
                        Required if you have multiple peers on the same host
 
1966
                        but different ports.
 
1967
                        This name can be used in cache_peer_access and similar
 
1968
                        directives to dentify the peer.
 
1969
                        Can be used by outgoing access controls through the
 
1970
                        peername ACL type.
 
1971
        
 
1972
        no-tproxy       Do not use the client-spoof TPROXY support when forwarding
 
1973
                        requests to this peer. Use normal address selection instead.
 
1974
        
 
1975
        proxy-only      objects fetched from the peer will not be stored locally.
 
1976
        
1552
1977
DOC_END
1553
1978
 
1554
1979
NAME: cache_peer_domain cache_host_domain
1595
2020
 
1596
2021
        The syntax is identical to 'http_access' and the other lists of
1597
2022
        ACL elements.  See the comments for 'http_access' below, or
1598
 
        the Squid FAQ (http://www.squid-cache.org/FAQ/FAQ-10.html).
 
2023
        the Squid FAQ (http://wiki.squid-cache.org/SquidFaq/SquidAcl).
1599
2024
DOC_END
1600
2025
 
1601
2026
NAME: neighbor_type_domain
1640
2065
        instead of to your parents.
1641
2066
DOC_END
1642
2067
 
 
2068
NAME: forward_max_tries
 
2069
DEFAULT: 10
 
2070
TYPE: int
 
2071
LOC: Config.forward_max_tries
 
2072
DOC_START
 
2073
        Controls how many different forward paths Squid will try
 
2074
        before giving up. See also forward_timeout.
 
2075
DOC_END
 
2076
 
1643
2077
NAME: hierarchy_stoplist
1644
2078
TYPE: wordlist
1645
2079
DEFAULT: none
1651
2085
        list this option multiple times.
1652
2086
        Note: never_direct overrides this option.
1653
2087
NOCOMMENT_START
1654
 
#We recommend you to use at least the following line.
 
2088
 
 
2089
# We recommend you to use at least the following line.
1655
2090
hierarchy_stoplist cgi-bin ?
1656
2091
NOCOMMENT_END
1657
2092
DOC_END
1664
2099
NAME: cache_mem
1665
2100
COMMENT: (bytes)
1666
2101
TYPE: b_size_t
1667
 
DEFAULT: 8 MB
 
2102
DEFAULT: 256 MB
1668
2103
LOC: Config.memMaxSize
1669
2104
DOC_START
1670
2105
        NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS SIZE.
1701
2136
NAME: maximum_object_size_in_memory
1702
2137
COMMENT: (bytes)
1703
2138
TYPE: b_size_t
1704
 
DEFAULT: 8 KB
 
2139
DEFAULT: 512 KB
1705
2140
LOC: Config.Store.maxInMemObjSize
1706
2141
DOC_START
1707
2142
        Objects greater than this size will not be attempted to kept in
1769
2204
NAME: cache_dir
1770
2205
TYPE: cachedir
1771
2206
DEFAULT: none
1772
 
DEFAULT_IF_NONE: ufs @DEFAULT_SWAP_DIR@ 100 16 256
1773
2207
LOC: Config.cacheSwap
1774
2208
DOC_START
1775
2209
        Usage:
1845
2279
 
1846
2280
        The coss store type:
1847
2281
 
1848
 
        NP: COSS filesystem in 3.0 has been deemed too unstable for
1849
 
            production use and has thus been removed from this 3.0
1850
 
            STABLE release. We hope that it can be made usable again
1851
 
            in a future release.
 
2282
        NP: COSS filesystem in Squid-3 has been deemed too unstable for
 
2283
            production use and has thus been removed from this release.
 
2284
            We hope that it can be made usable again soon.
1852
2285
 
1853
2286
        block-size=n defines the "block size" for COSS cache_dir's.
1854
2287
        Squid uses file numbers as block numbers.  Since file numbers
1862
2295
        called 'stripe' in the directory names in the config - and
1863
2296
        this will be created by squid -z.
1864
2297
 
1865
 
        The null store type:
1866
 
 
1867
 
        no options are allowed or required
1868
 
 
1869
2298
        Common options:
1870
2299
 
1871
2300
        no-store, no new objects should be stored to this cache_dir
1879
2308
        Note for coss, max-size must be less than COSS_MEMBUF_SZ,
1880
2309
        which can be changed with the --with-coss-membuf-size=N configure
1881
2310
        option.
 
2311
NOCOMMENT_START
 
2312
 
 
2313
# Uncomment and adjust the following to add a disk cache directory.
 
2314
#cache_dir ufs @DEFAULT_SWAP_DIR@ 100 16 256
 
2315
NOCOMMENT_END
1882
2316
DOC_END
1883
2317
 
1884
2318
NAME: store_dir_select_algorithm
1994
2428
 
1995
2429
        Format codes:
1996
2430
 
 
2431
                %       a literal % character
1997
2432
                >a      Client source IP address
1998
2433
                >A      Client FQDN
1999
2434
                >p      Client source port
2003
2438
                ts      Seconds since epoch
2004
2439
                tu      subsecond time (milliseconds)
2005
2440
                tl      Local time. Optional strftime format argument
2006
 
                        default %d/%b/%Y:%H:%M:%S %z
 
2441
                                default %d/%b/%Y:%H:%M:%S %z
2007
2442
                tg      GMT time. Optional strftime format argument
2008
 
                        default %d/%b/%Y:%H:%M:%S %z
 
2443
                                default %d/%b/%Y:%H:%M:%S %z
2009
2444
                tr      Response time (milliseconds)
2010
 
                >h      Request header. Optional header name argument
2011
 
                        on the format header[:[separator]element]
2012
 
                <h      Reply header. Optional header name argument
2013
 
                        as for >h
2014
 
                un      User name
2015
 
                ul      User name from authentication
2016
 
                ui      User name from ident
2017
 
                us      User name from SSL
2018
 
                ue      User name from external acl helper
2019
 
                Hs      HTTP status code
2020
 
                Ss      Squid request status (TCP_MISS etc)
2021
 
                Sh      Squid hierarchy status (DEFAULT_PARENT etc)
2022
 
                mt      MIME content type
2023
 
                rm      Request method (GET/POST etc)
2024
 
                ru      Request URL
2025
 
                rp      Request URL-Path excluding hostname
2026
 
                rv      Request protocol version
2027
 
                et      Tag returned by external acl
2028
 
                ea      Log string returned by external acl
2029
 
                <st     Reply size including HTTP headers
2030
 
                >st     Request size including HTTP headers
2031
 
                st      Request+Reply size including HTTP headers
2032
 
                <sH     Reply high offset sent
2033
 
                <sS     Upstream object size
2034
 
                %       a literal % character
 
2445
                dt      Total time spent making DNS lookups (milliseconds)
 
2446
 
 
2447
        HTTP cache related format codes:
 
2448
 
 
2449
                [http::]>h      Original request header. Optional header name argument
 
2450
                                on the format header[:[separator]element]
 
2451
                [http::]>ha     The HTTP request headers after adaptation and redirection. 
 
2452
                                Optional header name argument as for >h
 
2453
                [http::]<h      Reply header. Optional header name argument
 
2454
                                as for >h
 
2455
                [http::]un      User name
 
2456
                [http::]ul      User name from authentication
 
2457
                [http::]ui      User name from ident
 
2458
                [http::]us      User name from SSL
 
2459
                [http::]ue      User name from external acl helper
 
2460
                [http::]>Hs     HTTP status code sent to the client
 
2461
                [http::]<Hs     HTTP status code received from the next hop
 
2462
                [http::]Ss      Squid request status (TCP_MISS etc)
 
2463
                [http::]Sh      Squid hierarchy status (DEFAULT_PARENT etc)
 
2464
                [http::]mt      MIME content type
 
2465
                [http::]rm      Request method (GET/POST etc)
 
2466
                [http::]ru      Request URL
 
2467
                [http::]rp      Request URL-Path excluding hostname
 
2468
                [http::]rv      Request protocol version
 
2469
                [http::]et      Tag returned by external acl
 
2470
                [http::]ea      Log string returned by external acl
 
2471
                [http::]<st     Sent reply size including HTTP headers
 
2472
                [http::]>st     Received request size including HTTP headers. In the
 
2473
                                case of chunked requests the chunked encoding metadata
 
2474
                                are not included
 
2475
                [http::]>sh     Received HTTP request headers size
 
2476
                [http::]<sh     Sent HTTP reply headers size
 
2477
                [http::]st      Request+Reply size including HTTP headers
 
2478
                [http::]<sH     Reply high offset sent
 
2479
                [http::]<sS     Upstream object size
 
2480
                [http::]<pt     Peer response time in milliseconds. The timer starts
 
2481
                                when the last request byte is sent to the next hop
 
2482
                                and stops when the last response byte is received.
 
2483
                [http::]<tt     Total server-side time in milliseconds. The timer 
 
2484
                                starts with the first connect request (or write I/O)
 
2485
                                sent to the first selected peer. The timer stops
 
2486
                                with the last I/O with the last peer.
 
2487
 
 
2488
        If ICAP is enabled, the following two codes become available (as
 
2489
        well as ICAP log codes documented with the icap_log option):
 
2490
 
 
2491
                icap::tt        Total ICAP processing time for the HTTP
 
2492
                                transaction. The timer ticks when ICAP
 
2493
                                ACLs are checked and when ICAP
 
2494
                                transaction is in progress.
 
2495
 
 
2496
                icap::<last_h   The header of the last ICAP response
 
2497
                                related to the HTTP transaction. Like
 
2498
                                <h, accepts an optional header name
 
2499
                                argument.  Will not change semantics
 
2500
                                when multiple ICAP transactions per HTTP
 
2501
                                transaction are supported.
 
2502
 
 
2503
        If adaptation is enabled the following two codes become available:
 
2504
 
 
2505
                adapt::sum_trs Summed adaptation transaction response
 
2506
                                times recorded as a comma-separated list in
 
2507
                                the order of transaction start time. Each time
 
2508
                                value is recorded as an integer number,
 
2509
                                representing response time of one or more
 
2510
                                adaptation (ICAP or eCAP) transaction in
 
2511
                                milliseconds.  When a failed transaction is
 
2512
                                being retried or repeated, its time is not
 
2513
                                logged individually but added to the
 
2514
                                replacement (next) transaction. See also:
 
2515
                                adapt::all_trs.
 
2516
 
 
2517
                adapt::all_trs All adaptation transaction response times.
 
2518
                                Same as adaptation_strs but response times of
 
2519
                                individual transactions are never added
 
2520
                                together. Instead, all transaction response
 
2521
                                times are recorded individually.
 
2522
 
 
2523
        You can prefix adapt::*_trs format codes with adaptation
 
2524
        service name in curly braces to record response time(s) specific
 
2525
        to that service. For example: %{my_service}adapt::sum_trs
2035
2526
 
2036
2527
        The default formats available (which do not need re-defining) are:
2037
2528
 
2038
 
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
2039
 
logformat squidmime %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt [%>h] [%<h]
2040
 
logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st %Ss:%Sh
2041
 
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
 
2529
logformat squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt
 
2530
logformat squidmime %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt [%>h] [%<h]
 
2531
logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh
 
2532
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
2042
2533
DOC_END
2043
2534
 
2044
2535
NAME: access_log cache_access_log
2045
2536
TYPE: access_log
2046
2537
LOC: Config.Log.accesslogs
2047
2538
DEFAULT: none
 
2539
DEFAULT_IF_NONE: @DEFAULT_ACCESS_LOG@ squid
2048
2540
DOC_START
2049
2541
        These files log client request activities. Has a line every HTTP or
2050
2542
        ICP request. The format is:
2067
2559
 
2068
2560
        And priority could be any of:
2069
2561
        err, warning, notice, info, debug.
2070
 
NOCOMMENT_START
2071
 
access_log @DEFAULT_ACCESS_LOG@ squid
2072
 
NOCOMMENT_END
 
2562
 
 
2563
        Default:
 
2564
                access_log @DEFAULT_ACCESS_LOG@ squid
 
2565
DOC_END
 
2566
 
 
2567
NAME: icap_log
 
2568
TYPE: access_log
 
2569
IFDEF: ICAP_CLIENT
 
2570
LOC: Config.Log.icaplogs
 
2571
DEFAULT: none
 
2572
DOC_START
 
2573
        ICAP log files record ICAP transaction summaries, one line per
 
2574
        transaction.
 
2575
 
 
2576
        The icap_log option format is:
 
2577
        icap_log <filepath> [<logformat name> [acl acl ...]]
 
2578
        icap_log none [acl acl ...]]
 
2579
        
 
2580
        Please see access_log option documentation for details. The two
 
2581
        kinds of logs share the overall configuration approach and many
 
2582
        features.
 
2583
 
 
2584
        ICAP processing of a single HTTP message or transaction may
 
2585
        require multiple ICAP transactions.  In such cases, multiple
 
2586
        ICAP transaction log lines will correspond to a single access
 
2587
        log line.
 
2588
 
 
2589
        ICAP log uses logformat codes that make sense for an ICAP
 
2590
        transaction. Header-related codes are applied to the HTTP header
 
2591
        embedded in an ICAP server response, with the following caveats:
 
2592
        For REQMOD, there is no HTTP response header unless the ICAP
 
2593
        server performed request satisfaction. For RESPMOD, the HTTP
 
2594
        request header is the header sent to the ICAP server. For
 
2595
        OPTIONS, there are no HTTP headers.
 
2596
 
 
2597
        The following format codes are also available for ICAP logs:
 
2598
 
 
2599
                icap::<A        ICAP server IP address. Similar to <A.
 
2600
 
 
2601
                icap::<service_name     ICAP service name from the icap_service
 
2602
                                option in Squid configuration file.
 
2603
 
 
2604
                icap::ru        ICAP Request-URI. Similar to ru.
 
2605
 
 
2606
                icap::rm        ICAP request method (REQMOD, RESPMOD, or 
 
2607
                                OPTIONS). Similar to existing rm.
 
2608
 
 
2609
                icap::>st       Bytes sent to the ICAP server (TCP payload
 
2610
                                only; i.e., what Squid writes to the socket).
 
2611
 
 
2612
                icap::<st       Bytes received from the ICAP server (TCP
 
2613
                                payload only; i.e., what Squid reads from
 
2614
                                the socket).
 
2615
 
 
2616
                icap::tr        Transaction response time (in
 
2617
                                milliseconds).  The timer starts when
 
2618
                                the ICAP transaction is created and
 
2619
                                stops when the transaction is completed.
 
2620
                                Similar to tr.
 
2621
 
 
2622
                icap::tio       Transaction I/O time (in milliseconds). The
 
2623
                                timer starts when the first ICAP request
 
2624
                                byte is scheduled for sending. The timers
 
2625
                                stops when the last byte of the ICAP response
 
2626
                                is received.
 
2627
 
 
2628
                icap::to        Transaction outcome: ICAP_ERR* for all
 
2629
                                transaction errors, ICAP_OPT for OPTION
 
2630
                                transactions, ICAP_ECHO for 204
 
2631
                                responses, ICAP_MOD for message
 
2632
                                modification, and ICAP_SAT for request
 
2633
                                satisfaction. Similar to Ss.
 
2634
 
 
2635
                icap::Hs        ICAP response status code. Similar to Hs.
 
2636
 
 
2637
                icap::>h        ICAP request header(s). Similar to >h.
 
2638
 
 
2639
                icap::<h        ICAP response header(s). Similar to <h.
 
2640
 
 
2641
        The default ICAP log format, which can be used without an explicit
 
2642
        definition, is called icap_squid:
 
2643
 
 
2644
logformat icap_squid %ts.%03tu %6icap::tr %>a %icap::to/%03icap::Hs %icap::<size %icap::rm %icap::ru% %un -/%icap::<A -
 
2645
 
 
2646
        See also: logformat, log_icap, and %icap::<last_h 
2073
2647
DOC_END
2074
2648
 
2075
2649
NAME: log_access
2081
2655
        This options allows you to control which requests gets logged
2082
2656
        to access.log (see access_log directive). Requests denied for
2083
2657
        logging will also not be accounted for in performance counters.
 
2658
 
 
2659
        This clause only supports fast acl types.
 
2660
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
2084
2661
DOC_END
2085
2662
 
2086
 
NAME: cache_log
2087
 
TYPE: string
2088
 
DEFAULT: @DEFAULT_CACHE_LOG@
2089
 
LOC: Config.Log.log
 
2663
NAME: log_icap
 
2664
TYPE: acl_access
 
2665
IFDEF: ICAP_CLIENT
 
2666
LOC: Config.accessList.icap
 
2667
DEFAULT: none
2090
2668
DOC_START
2091
 
        Cache logging file. This is where general information about
2092
 
        your cache's behavior goes. You can increase the amount of data
2093
 
        logged to this file with the "debug_options" tag below.
 
2669
        This options allows you to control which requests get logged
 
2670
        to icap.log. See the icap_log directive for ICAP log details.
2094
2671
DOC_END
2095
2672
 
2096
2673
NAME: cache_store_log
2097
2674
TYPE: string
2098
 
DEFAULT: @DEFAULT_STORE_LOG@
 
2675
DEFAULT: none
2099
2676
LOC: Config.Log.store
2100
2677
DOC_START
2101
2678
        Logs the activities of the storage manager.  Shows which
2102
2679
        objects are ejected from the cache, and which objects are
2103
 
        saved and for how long.  To disable, enter "none". There are
2104
 
        not really utilities to analyze this data, so you can safely
 
2680
        saved and for how long.  To disable, enter "none" or remove the line.
 
2681
        There are not really utilities to analyze this data, so you can safely
2105
2682
        disable it.
 
2683
 
 
2684
        Example:
 
2685
                cache_store_log @DEFAULT_STORE_LOG@
2106
2686
DOC_END
2107
2687
 
2108
2688
NAME: cache_swap_state cache_swap_log
2157
2737
        purposes, so -k rotate uses another signal.  It is best to get
2158
2738
        in the habit of using 'squid -k rotate' instead of 'kill -USR1
2159
2739
        <pid>'.
 
2740
 
 
2741
        Note, from Squid-3.1 this option has no effect on the cache.log,
 
2742
        that log can be rotated separately by using debug_options
2160
2743
DOC_END
2161
2744
 
2162
2745
NAME: emulate_httpd_log
2238
2821
        A filename to write the process-id to.  To disable, enter "none".
2239
2822
DOC_END
2240
2823
 
2241
 
NAME: debug_options
2242
 
TYPE: eol
2243
 
DEFAULT: ALL,1
2244
 
LOC: Config.debugOptions
2245
 
DOC_START
2246
 
        Logging options are set as section,level where each source file
2247
 
        is assigned a unique section.  Lower levels result in less
2248
 
        output,  Full debugging (level 9) can result in a very large
2249
 
        log file, so be careful.  The magic word "ALL" sets debugging
2250
 
        levels for all sections.  We recommend normally running with
2251
 
        "ALL,1".
2252
 
DOC_END
2253
 
 
2254
2824
NAME: log_fqdn
2255
2825
COMMENT: on|off
2256
2826
TYPE: onoff
2308
2878
        enabled in which case performance will suffer badly anyway..).
2309
2879
DOC_END
2310
2880
 
 
2881
NAME: netdb_filename
 
2882
TYPE: string
 
2883
DEFAULT: @DEFAULT_NETDB_FILE@
 
2884
LOC: Config.netdbFilename
 
2885
IFDEF: USE_ICMP
 
2886
DOC_START
 
2887
        A filename where Squid stores it's netdb state between restarts.
 
2888
        To disable, enter "none".
 
2889
DOC_END
 
2890
 
 
2891
COMMENT_START
 
2892
 OPTIONS FOR TROUBLESHOOTING
 
2893
 -----------------------------------------------------------------------------
 
2894
COMMENT_END
 
2895
 
 
2896
NAME: cache_log
 
2897
TYPE: string
 
2898
DEFAULT: none
 
2899
DEFAULT_IF_NONE: @DEFAULT_CACHE_LOG@
 
2900
LOC: Debug::cache_log
 
2901
DOC_START
 
2902
        Cache logging file. This is where general information about
 
2903
        your cache's behavior goes. You can increase the amount of data
 
2904
        logged to this file and how often its rotated with "debug_options"
 
2905
DOC_END
 
2906
 
 
2907
NAME: debug_options
 
2908
TYPE: eol
 
2909
DEFAULT: ALL,1
 
2910
LOC: Debug::debugOptions
 
2911
DOC_START
 
2912
        Logging options are set as section,level where each source file
 
2913
        is assigned a unique section.  Lower levels result in less
 
2914
        output,  Full debugging (level 9) can result in a very large
 
2915
        log file, so be careful.
 
2916
 
 
2917
        The magic word "ALL" sets debugging levels for all sections.
 
2918
        We recommend normally running with "ALL,1".
 
2919
 
 
2920
        The rotate=N option can be used to keep more or less of these logs
 
2921
        than would otherwise be kept by logfile_rotate.
 
2922
        For most uses a single log should be enough to monitor current
 
2923
        events affecting Squid.
 
2924
DOC_END
 
2925
 
 
2926
NAME: coredump_dir
 
2927
TYPE: string
 
2928
LOC: Config.coredump_dir
 
2929
DEFAULT: none
 
2930
DEFAULT_IF_NONE: none
 
2931
DOC_START
 
2932
        By default Squid leaves core files in the directory from where
 
2933
        it was started. If you set 'coredump_dir' to a directory
 
2934
        that exists, Squid will chdir() to that directory at startup
 
2935
        and coredump files will be left there.
 
2936
 
 
2937
NOCOMMENT_START
 
2938
 
 
2939
# Leave coredumps in the first cache dir
 
2940
coredump_dir @DEFAULT_SWAP_DIR@
 
2941
NOCOMMENT_END
 
2942
DOC_END
 
2943
 
 
2944
 
2311
2945
COMMENT_START
2312
2946
 OPTIONS FOR FTP GATEWAYING
2313
2947
 -----------------------------------------------------------------------------
2346
2980
DOC_START
2347
2981
        If your firewall does not allow Squid to use passive
2348
2982
        connections, turn off this option.
 
2983
 
 
2984
        Use of ftp_epsv_all option requires this to be ON.
 
2985
DOC_END
 
2986
 
 
2987
NAME: ftp_epsv_all
 
2988
TYPE: onoff
 
2989
DEFAULT: off
 
2990
LOC: Config.Ftp.epsv_all
 
2991
DOC_START
 
2992
        FTP Protocol extensions permit the use of a special "EPSV ALL" command.
 
2993
 
 
2994
        NATs may be able to put the connection on a "fast path" through the
 
2995
        translator, as the EPRT command will never be used and therefore,
 
2996
        translation of the data portion of the segments will never be needed.
 
2997
 
 
2998
        When a client only expects to do two-way FTP transfers this may be
 
2999
        useful.
 
3000
        If squid finds that it must do a three-way FTP transfer after issuing
 
3001
        an EPSV ALL command, the FTP session will fail.
 
3002
 
 
3003
        If you have any doubts about this option do not use it.
 
3004
        Squid will nicely attempt all other connection methods.
 
3005
 
 
3006
        Requires ftp_passive to be ON (default) for any effect.
 
3007
DOC_END
 
3008
 
 
3009
NAME: ftp_epsv
 
3010
TYPE: onoff
 
3011
DEFAULT: on
 
3012
LOC: Config.Ftp.epsv
 
3013
DOC_START
 
3014
        FTP Protocol extensions permit the use of a special "EPSV" command.
 
3015
 
 
3016
        NATs may be able to put the connection on a "fast path" through the
 
3017
        translator using EPSV, as the EPRT command will never be used
 
3018
        and therefore, translation of the data portion of the segments 
 
3019
        will never be needed.
 
3020
 
 
3021
        Turning this OFF will prevent EPSV being attempted.
 
3022
        WARNING: Doing so will convert Squid back to the old behavior with all
 
3023
        the related problems with external NAT devices/layers.
 
3024
 
 
3025
        Requires ftp_passive to be ON (default) for any effect.
2349
3026
DOC_END
2350
3027
 
2351
3028
NAME: ftp_sanitycheck
2404
3081
NAME: pinger_program
2405
3082
TYPE: string
2406
3083
DEFAULT: @DEFAULT_PINGER@
2407
 
LOC: Config.Program.pinger
 
3084
LOC: Config.pinger.program
2408
3085
IFDEF: USE_ICMP
2409
3086
DOC_START
2410
3087
        Specify the location of the executable for the pinger process.
2411
3088
DOC_END
2412
3089
 
 
3090
NAME: pinger_enable
 
3091
TYPE: onoff
 
3092
DEFAULT: off
 
3093
LOC: Config.pinger.enable
 
3094
IFDEF: USE_ICMP
 
3095
DOC_START
 
3096
        Control whether the pinger is active at run-time.
 
3097
        Enables turning ICMP pinger on and off with a simple
 
3098
        squid -k reconfigure.
 
3099
DOC_END
 
3100
 
 
3101
 
2413
3102
COMMENT_START
2414
3103
 OPTIONS FOR URL REWRITING
2415
3104
 -----------------------------------------------------------------------------
2461
3150
        The number of requests each redirector helper can handle in
2462
3151
        parallel. Defaults to 0 which indicates the redirector
2463
3152
        is a old-style single threaded redirector.
 
3153
 
 
3154
        When this directive is set to a value >= 1 then the protocol
 
3155
        used to communicate with the helper is modified to include
 
3156
        a request ID in front of the request/response. The request
 
3157
        ID from the request must be echoed back with the response
 
3158
        to that request.
2464
3159
DOC_END
2465
3160
 
2466
3161
NAME: url_rewrite_host_header redirect_rewrites_host_header
2484
3179
        If defined, this access list specifies which requests are
2485
3180
        sent to the redirector processes.  By default all requests
2486
3181
        are sent.
 
3182
 
 
3183
        This clause supports both fast and slow acl types.
 
3184
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
2487
3185
DOC_END
2488
3186
 
2489
3187
NAME: url_rewrite_bypass redirector_bypass
2519
3217
        You must use the words 'allow' or 'deny' to indicate whether items
2520
3218
        matching the ACL should be allowed or denied into the cache.
2521
3219
 
2522
 
        Default is to allow all to be cached
 
3220
        Default is to allow all to be cached.
 
3221
 
 
3222
        This clause supports both fast and slow acl types.
 
3223
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
2523
3224
DOC_END
2524
3225
 
2525
3226
NAME: refresh_pattern
2551
3252
                 ignore-reload
2552
3253
                 ignore-no-cache
2553
3254
                 ignore-no-store
 
3255
                 ignore-must-revalidate
2554
3256
                 ignore-private
2555
3257
                 ignore-auth
2556
3258
                 refresh-ims
2590
3292
                the HTTP standard. Enabling this feature could make you
2591
3293
                liable for problems which it causes.
2592
3294
 
 
3295
                ignore-must-revalidate ignores any ``Cache-Control: must-revalidate``
 
3296
                headers received from a server. Doing this VIOLATES
 
3297
                the HTTP standard. Enabling this feature could make you
 
3298
                liable for problems which it causes.
 
3299
 
2593
3300
                ignore-private ignores any ``Cache-control: private''
2594
3301
                headers received from a server. Doing this VIOLATES
2595
3302
                the HTTP standard. Enabling this feature could make you
2622
3329
        to change one. The default setting is only active if none is
2623
3330
        used.
2624
3331
 
2625
 
Suggested default:
2626
3332
NOCOMMENT_START
 
3333
 
 
3334
# Add any of your own refresh_pattern entries above these.
2627
3335
refresh_pattern ^ftp:           1440    20%     10080
2628
3336
refresh_pattern ^gopher:        1440    0%      1440
2629
 
refresh_pattern (cgi-bin|\?)    0       0%      0
 
3337
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
2630
3338
refresh_pattern .               0       20%     4320
2631
3339
NOCOMMENT_END
2632
3340
DOC_END
2690
3398
DOC_END
2691
3399
 
2692
3400
NAME: negative_ttl
 
3401
IFDEF: HTTP_VIOLATIONS
2693
3402
COMMENT: time-units
2694
3403
TYPE: time_t
2695
3404
LOC: Config.negativeTtl
2696
 
DEFAULT: 5 minutes
 
3405
DEFAULT: 0 seconds
2697
3406
DOC_START
2698
 
        Time-to-Live (TTL) for failed requests.  Certain types of
2699
 
        failures (such as "connection refused" and "404 Not Found") are
2700
 
        negatively-cached for a configurable amount of time.  The
2701
 
        default is 5 minutes.  Note that this is different from
2702
 
        negative caching of DNS lookups.
2703
 
 
2704
 
        WARNING: This setting VIOLATES RFC 2616 when non-zero.
2705
 
        If you have problems with eror pages caching, set to '0 seconds'
 
3407
        Set the Default Time-to-Live (TTL) for failed requests.
 
3408
        Certain types of failures (such as "connection refused" and
 
3409
        "404 Not Found") are able to be negatively-cached for a short time.
 
3410
        Modern web servers should provide Expires: header, however if they
 
3411
        do not this can provide a minimum TTL.
 
3412
        The default is not to cache errors with unknown expiry details.
 
3413
 
 
3414
        Note that this is different from negative caching of DNS lookups.
 
3415
 
 
3416
        WARNING: Doing this VIOLATES the HTTP standard.  Enabling
 
3417
        this feature could make you liable for problems which it
 
3418
        causes.
2706
3419
DOC_END
2707
3420
 
2708
3421
NAME: positive_dns_ttl
2743
3456
        from making Squid fetch the whole object up to that point before
2744
3457
        sending anything to the client.
2745
3458
 
 
3459
        A value of 0 causes Squid to never fetch more than the
 
3460
        client requested. (default)
 
3461
 
2746
3462
        A value of -1 causes Squid to always fetch the object from the
2747
3463
        beginning so it may cache the result. (2.0 style)
2748
3464
 
2749
 
        A value of 0 causes Squid to never fetch more than the
2750
 
        client requested. (default)
 
3465
        NP: Using -1 here will override any quick_abort settings that may
 
3466
            otherwise apply to the range request. The range request will
 
3467
            be fully fetched from start to finish regardless of the client
 
3468
            actions. This affects bandwidth usage.
2751
3469
DOC_END
2752
3470
 
2753
3471
NAME: minimum_expiry_time
2794
3512
NAME: request_header_max_size
2795
3513
COMMENT: (KB)
2796
3514
TYPE: b_size_t
2797
 
DEFAULT: 20 KB
 
3515
DEFAULT: 64 KB
2798
3516
LOC: Config.maxRequestHeaderSize
2799
3517
DOC_START
2800
3518
        This specifies the maximum size for HTTP headers in a request.
2807
3525
NAME: reply_header_max_size
2808
3526
COMMENT: (KB)
2809
3527
TYPE: b_size_t
2810
 
DEFAULT: 20 KB
 
3528
DEFAULT: 64 KB
2811
3529
LOC: Config.maxReplyHeaderSize
2812
3530
DOC_START
2813
3531
        This specifies the maximum size for HTTP headers in a reply.
2859
3577
DOC_END
2860
3578
 
2861
3579
NAME: broken_posts
 
3580
IFDEF: HTTP_VIOLATIONS
2862
3581
TYPE: acl_access
2863
3582
DEFAULT: none
2864
3583
LOC: Config.accessList.brokenPosts
2876
3595
          forbidden by the BNF, an HTTP/1.1 client must not preface or follow
2877
3596
          a request with an extra CRLF.
2878
3597
 
 
3598
        This clause only supports fast acl types.
 
3599
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
 
3600
 
2879
3601
Example:
2880
3602
 acl buggy_server url_regex ^http://....
2881
3603
 broken_posts allow buggy_server
2882
3604
DOC_END
2883
3605
 
 
3606
NAME: icap_uses_indirect_client
 
3607
COMMENT: on|off
 
3608
TYPE: onoff
 
3609
IFDEF: FOLLOW_X_FORWARDED_FOR&&ICAP_CLIENT
 
3610
DEFAULT: on
 
3611
LOC: Adaptation::Icap::TheConfig.icap_uses_indirect_client
 
3612
DOC_START
 
3613
   Controls whether the indirect client address
 
3614
   (see follow_x_forwarded_for) instead of the
 
3615
   direct client address is passed to an ICAP
 
3616
   server as "X-Client-IP".
 
3617
DOC_END
 
3618
 
2884
3619
NAME: via
2885
3620
IFDEF: HTTP_VIOLATIONS
2886
3621
COMMENT: on|off
2932
3667
        varying objects not intended for caching to get cached.
2933
3668
DOC_END
2934
3669
 
2935
 
NAME: extension_methods
2936
 
TYPE: wordlist
2937
 
LOC: Config.ext_methods
2938
 
DEFAULT: none
2939
 
DOC_START
2940
 
        Squid only knows about standardized HTTP request methods.
2941
 
        You can add up to 20 additional "extension" methods here.
2942
 
DOC_END
2943
 
 
2944
3670
NAME: request_entities
2945
3671
TYPE: onoff
2946
3672
LOC: Config.onoff.request_entities
3144
3870
        or response to be rejected.
3145
3871
DOC_END
3146
3872
 
 
3873
NAME: ignore_expect_100
 
3874
COMMENT: on|off
 
3875
IFDEF: HTTP_VIOLATIONS
 
3876
TYPE: onoff
 
3877
LOC: Config.onoff.ignore_expect_100
 
3878
DEFAULT: off
 
3879
DOC_START
 
3880
        This option makes Squid ignore any Expect: 100-continue header present
 
3881
        in the request. RFC 2616 requires that Squid being unable to satisfy
 
3882
        the response expectation MUST return a 417 error.
 
3883
 
 
3884
        Note: Enabling this is a HTTP protocol violation, but some clients may
 
3885
        not handle it well..
 
3886
DOC_END
 
3887
 
3147
3888
COMMENT_START
3148
3889
 TIMEOUTS
3149
3890
 -----------------------------------------------------------------------------
3266
4007
NAME: ident_timeout
3267
4008
TYPE: time_t
3268
4009
IFDEF: USE_IDENT
3269
 
LOC: Config.Timeout.ident
 
4010
LOC: Ident::TheConfig.timeout
3270
4011
DEFAULT: 10 seconds
3271
4012
DOC_START
3272
4013
        Maximum time to wait for IDENT lookups to complete.
3444
4185
        default is `0' which disables sending the announcement
3445
4186
        messages.
3446
4187
 
3447
 
        To enable announcing your cache, just uncomment the line
3448
 
        below.
 
4188
        To enable announcing your cache, just set an announce period.
3449
4189
 
3450
 
NOCOMMENT_START
3451
 
#To enable announcing your cache, just uncomment the line below.
3452
 
#announce_period 1 day
3453
 
NOCOMMENT_END
 
4190
        Example:
 
4191
                announce_period 1 day
3454
4192
DOC_END
3455
4193
 
3456
4194
NAME: announce_host
3546
4284
        delay pools, one of class 2 and one of class 3, the settings above
3547
4285
        and here would be:
3548
4286
 
3549
 
Example:
3550
 
 delay_pools 4      # 4 delay pools
3551
 
 delay_class 1 2    # pool 1 is a class 2 pool
3552
 
 delay_class 2 3    # pool 2 is a class 3 pool
3553
 
 delay_class 3 4    # pool 3 is a class 4 pool
3554
 
 delay_class 4 5    # pool 4 is a class 5 pool
 
4287
        Example:
 
4288
            delay_pools 4      # 4 delay pools
 
4289
            delay_class 1 2    # pool 1 is a class 2 pool
 
4290
            delay_class 2 3    # pool 2 is a class 3 pool
 
4291
            delay_class 3 4    # pool 3 is a class 4 pool
 
4292
            delay_class 4 5    # pool 4 is a class 5 pool
3555
4293
 
3556
4294
        The delay pool classes are:
3557
4295
 
3560
4298
 
3561
4299
                class 2         Everything is limited by a single aggregate
3562
4300
                                bucket as well as an "individual" bucket chosen
3563
 
                                from bits 25 through 32 of the IP address.
 
4301
                                from bits 25 through 32 of the IPv4 address.
3564
4302
 
3565
4303
                class 3         Everything is limited by a single aggregate
3566
4304
                                bucket as well as a "network" bucket chosen
3567
4305
                                from bits 17 through 24 of the IP address and a
3568
4306
                                "individual" bucket chosen from bits 17 through
3569
 
                                32 of the IP address.
 
4307
                                32 of the IPv4 address.
3570
4308
 
3571
4309
                class 4         Everything in a class 3 delay pool, with an
3572
4310
                                additional limit on a per user basis. This
3581
4319
                -> bits 25 through 32 are "d"
3582
4320
                -> bits 17 through 24 are "c"
3583
4321
                -> bits 17 through 32 are "c * 256 + d"
 
4322
 
 
4323
        NOTE-2: Due to the use of bitmasks in class 2,3,4 pools they only apply to
 
4324
                IPv4 traffic. Class 1 and 5 pools may be used with IPv6 traffic.
3584
4325
DOC_END
3585
4326
 
3586
4327
NAME: delay_access
3711
4452
LOC: Config.Wccp.router
3712
4453
DEFAULT: 0.0.0.0
3713
4454
IFDEF: USE_WCCP
3714
 
DOC_NONE
 
4455
DOC_START
 
4456
        Use this option to define your WCCP ``home'' router for
 
4457
        Squid.
 
4458
 
 
4459
        wccp_router supports a single WCCP(v1) router
 
4460
 
 
4461
        wccp2_router supports multiple WCCPv2 routers
 
4462
 
 
4463
        only one of the two may be used at the same time and defines
 
4464
        which version of WCCP to use.
 
4465
DOC_END
 
4466
 
3715
4467
NAME: wccp2_router
3716
 
TYPE: sockaddr_in_list
 
4468
TYPE: IpAddress_list
3717
4469
LOC: Config.Wccp2.router
3718
4470
DEFAULT: none
3719
4471
IFDEF: USE_WCCPv2
3758
4510
DOC_END
3759
4511
 
3760
4512
NAME: wccp2_forwarding_method
3761
 
TYPE: int
 
4513
TYPE: wccp2_method
3762
4514
LOC: Config.Wccp2.forwarding_method
3763
 
DEFAULT: 1
 
4515
DEFAULT: gre
3764
4516
IFDEF: USE_WCCPv2
3765
4517
DOC_START
3766
4518
        WCCP2 allows the setting of forwarding methods between the
3767
4519
        router/switch and the cache.  Valid values are as follows:
3768
4520
 
3769
 
        1 - GRE encapsulation (forward the packet in a GRE/WCCP tunnel)
3770
 
        2 - L2 redirect (forward the packet using Layer 2/MAC rewriting)
 
4521
        gre - GRE encapsulation (forward the packet in a GRE/WCCP tunnel)
 
4522
        l2  - L2 redirect (forward the packet using Layer 2/MAC rewriting)
3771
4523
 
3772
4524
        Currently (as of IOS 12.4) cisco routers only support GRE.
3773
4525
        Cisco switches only support the L2 redirect assignment method.
3774
4526
DOC_END
3775
4527
 
3776
4528
NAME: wccp2_return_method
3777
 
TYPE: int
 
4529
TYPE: wccp2_method
3778
4530
LOC: Config.Wccp2.return_method
3779
 
DEFAULT: 1
 
4531
DEFAULT: gre
3780
4532
IFDEF: USE_WCCPv2
3781
4533
DOC_START
3782
4534
        WCCP2 allows the setting of return methods between the
3783
4535
        router/switch and the cache for packets that the cache
3784
4536
        decides not to handle.  Valid values are as follows:
3785
4537
 
3786
 
        1 - GRE encapsulation (forward the packet in a GRE/WCCP tunnel)
3787
 
        2 - L2 redirect (forward the packet using Layer 2/MAC rewriting)
 
4538
        gre - GRE encapsulation (forward the packet in a GRE/WCCP tunnel)
 
4539
        l2  - L2 redirect (forward the packet using Layer 2/MAC rewriting)
3788
4540
 
3789
4541
        Currently (as of IOS 12.4) cisco routers only support GRE.
3790
4542
        Cisco switches only support the L2 redirect assignment.
3796
4548
DOC_END
3797
4549
 
3798
4550
NAME: wccp2_assignment_method
3799
 
TYPE: int
 
4551
TYPE: wccp2_amethod
3800
4552
LOC: Config.Wccp2.assignment_method
3801
 
DEFAULT: 1
 
4553
DEFAULT: hash
3802
4554
IFDEF: USE_WCCPv2
3803
4555
DOC_START
3804
4556
        WCCP2 allows the setting of methods to assign the WCCP hash
3805
4557
        Valid values are as follows:
3806
4558
 
3807
 
        1 - Hash assignment
3808
 
        2 - Mask assignment
 
4559
        hash - Hash assignment
 
4560
        mask  - Mask assignment
3809
4561
 
3810
4562
        As a general rule, cisco routers support the hash assignment method
3811
4563
        and cisco switches support the mask assignment method.
3837
4589
        wccp2_service dynamic 80        # a dynamic service type which will be
3838
4590
                                        # fleshed out with subsequent options.
3839
4591
        wccp2_service standard 0 password=foo
3840
 
 
3841
4592
DOC_END
3842
4593
 
3843
4594
NAME: wccp2_service_info
3888
4639
DEFAULT: 0.0.0.0
3889
4640
IFDEF: USE_WCCP
3890
4641
DOC_NONE
 
4642
 
3891
4643
NAME: wccp2_address
3892
4644
TYPE: address
3893
4645
LOC: Config.Wccp2.address
4035
4787
        SNMP support set this to a suitable port number. Port number
4036
4788
        3401 is often used for the Squid SNMP agent. By default it's
4037
4789
        set to "0" (disabled)
4038
 
NOCOMMENT_START
4039
 
#snmp_port 3401
4040
 
NOCOMMENT_END
 
4790
 
 
4791
        Example:
 
4792
                snmp_port 3401
4041
4793
DOC_END
4042
4794
 
4043
4795
NAME: snmp_access
4054
4806
 
4055
4807
        snmp_access allow|deny [!]aclname ...
4056
4808
 
 
4809
        This clause only supports fast acl types.
 
4810
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
4057
4811
Example:
4058
4812
 snmp_access allow snmppublic localhost
4059
4813
 snmp_access deny all
4065
4819
DEFAULT: 0.0.0.0
4066
4820
IFDEF: SQUID_SNMP
4067
4821
DOC_NONE
 
4822
 
4068
4823
NAME: snmp_outgoing_address
4069
4824
TYPE: address
4070
4825
LOC: Config.Addrs.snmp_outgoing
4071
4826
DEFAULT: 255.255.255.255
4072
4827
IFDEF: SQUID_SNMP
4073
4828
DOC_START
4074
 
        Just like 'udp_incoming_address' above, but for the SNMP port.
 
4829
        Just like 'udp_incoming_address', but for the SNMP port.
4075
4830
 
4076
4831
        snmp_incoming_address   is used for the SNMP socket receiving
4077
4832
                                messages from SNMP agents.
4103
4858
        The port number where Squid sends and receives ICP queries to
4104
4859
        and from neighbor caches.  The standard UDP port for ICP is 3130.
4105
4860
        Default is disabled (0).
4106
 
NOCOMMENT_START
4107
 
icp_port @DEFAULT_ICP_PORT@
4108
 
NOCOMMENT_END
 
4861
 
 
4862
        Example:
 
4863
                icp_port @DEFAULT_ICP_PORT@
4109
4864
DOC_END
4110
4865
 
4111
4866
NAME: htcp_port
4117
4872
        The port number where Squid sends and receives HTCP queries to
4118
4873
        and from neighbor caches.  To turn it on you want to set it to
4119
4874
        4827. By default it is set to "0" (disabled).
4120
 
NOCOMMENT_START
4121
 
#htcp_port 4827
4122
 
NOCOMMENT_END
 
4875
 
 
4876
        Example:
 
4877
                htcp_port 4827
4123
4878
DOC_END
4124
4879
 
4125
4880
NAME: log_icp_queries
4462
5217
NAME: error_directory
4463
5218
TYPE: string
4464
5219
LOC: Config.errorDirectory
4465
 
DEFAULT: @DEFAULT_ERROR_DIR@
 
5220
DEFAULT: none
4466
5221
DOC_START
4467
 
        If you wish to create your own versions of the default files, to
4468
 
        customize them to suit your company copy the template files to
4469
 
        another directory and point this tag at them.
 
5222
        If you wish to create your own versions of the default
 
5223
        error files to customize them to suit your company copy
 
5224
        the error/template files to another directory and point
 
5225
        this tag at them.
4470
5226
 
4471
 
        Current Language updates can be downloaded from:
4472
 
                http://www.squid-cache.org/Versions/langpack/
 
5227
        WARNING: This option will disable multi-language support
 
5228
                 on error pages if used.
4473
5229
 
4474
5230
        The squid developers are interested in making squid available in
4475
5231
        a wide variety of languages. If you are making translations for a
4476
 
        langauge that Squid does not currently provide please consider
 
5232
        language that Squid does not currently provide please consider
4477
5233
        contributing your translation back to the project.
4478
 
        see http://wiki.squid-cache.org/Translations
 
5234
        http://wiki.squid-cache.org/Translations
 
5235
 
 
5236
        The squid developers working on translations are happy to supply drop-in
 
5237
        translated error files in exchange for any new language contributions.
 
5238
DOC_END
 
5239
 
 
5240
NAME: error_default_language
 
5241
IFDEF: USE_ERR_LOCALES
 
5242
TYPE: string
 
5243
LOC: Config.errorDefaultLanguage
 
5244
DEFAULT: none
 
5245
DOC_START
 
5246
        Set the default language which squid will send error pages in
 
5247
        if no existing translation matches the clients language
 
5248
        preferences.
 
5249
 
 
5250
        If unset (default) generic English will be used.
 
5251
 
 
5252
        The squid developers are interested in making squid available in
 
5253
        a wide variety of languages. If you are interested in making
 
5254
        translations for any language see the squid wiki for details.
 
5255
        http://wiki.squid-cache.org/Translations
 
5256
DOC_END
 
5257
 
 
5258
NAME: error_log_languages
 
5259
IFDEF: USE_ERR_LOCALES
 
5260
TYPE: onoff
 
5261
LOC: Config.errorLogMissingLanguages
 
5262
DEFAULT: on
 
5263
DOC_START
 
5264
        Log to cache.log what languages users are attempting to
 
5265
        auto-negotiate for translations.
 
5266
 
 
5267
        Successful negotiations are not logged. Only failures
 
5268
        have meaning to indicate that Squid may need an upgrade
 
5269
        of its error page translations.
 
5270
DOC_END
 
5271
 
 
5272
NAME: err_page_stylesheet
 
5273
TYPE: string
 
5274
LOC: Config.errorStylesheet
 
5275
DEFAULT: @DEFAULT_CONFIG_DIR@/errorpage.css
 
5276
DOC_START
 
5277
        CSS Stylesheet to pattern the display of Squid default error pages.
 
5278
 
 
5279
        For information on CSS see http://www.w3.org/Style/CSS/
4479
5280
DOC_END
4480
5281
 
4481
5282
NAME: err_html_text
4512
5313
DOC_START
4513
5314
        Usage:   deny_info err_page_name acl
4514
5315
        or       deny_info http://... acl
4515
 
        Example: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
 
5316
        or       deny_info TCP_RESET acl
4516
5317
 
4517
5318
        This can be used to return a ERR_ page for requests which
4518
5319
        do not pass the 'http_access' rules.  Squid remembers the last
4526
5327
        - When none of the http_access lines matches. It's then the last
4527
5328
          acl processed on the last http_access line.
4528
5329
 
4529
 
        You may use ERR_ pages that come with Squid or create your own pages
4530
 
        and put them into the configured errors/ directory.
 
5330
        NP: If providing your own custom error pages with error_directory
 
5331
            you may also specify them by your custom file name:
 
5332
            Example: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
4531
5333
 
4532
5334
        Alternatively you can specify an error URL. The browsers will
4533
5335
        get redirected (302) to the specified URL. %s in the redirection
4619
5421
 
4620
5422
        NOTE: This directive is not related to caching. The replies
4621
5423
        is cached as usual even if you use always_direct. To not cache
4622
 
        the replies see no_cache.
 
5424
        the replies see the 'cache' directive.
4623
5425
 
4624
 
        This option replaces some v1.1 options such as local_domain
4625
 
        and local_ip.
 
5426
        This clause supports both fast and slow acl types.
 
5427
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
4626
5428
DOC_END
4627
5429
 
4628
5430
NAME: never_direct
4653
5455
                always_direct allow local-intranet
4654
5456
                never_direct allow all
4655
5457
 
4656
 
        This option replaces some v1.1 options such as inside_firewall
4657
 
        and firewall_ip.
 
5458
        This clause supports both fast and slow acl types.
 
5459
        See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
4658
5460
DOC_END
4659
5461
 
4660
5462
COMMENT_START
4735
5537
accept_filter data
4736
5538
DOC_END
4737
5539
 
 
5540
NAME: client_ip_max_connections
 
5541
TYPE: int
 
5542
LOC: Config.client_ip_max_connections
 
5543
DEFAULT: -1
 
5544
DOC_START
 
5545
        Set an absolute limit on the number of connections a single
 
5546
        client IP can use. Any more than this and Squid will begin to drop
 
5547
        new connections from the client until it closes some links.
 
5548
 
 
5549
        Note that this is a global limit. It affects all HTTP, HTCP, Gopher and FTP
 
5550
        connections from the client. For finer control use the ACL access controls.
 
5551
 
 
5552
        Requires client_db to be enabled (the default).
 
5553
 
 
5554
        WARNING: This may noticably slow down traffic received via external proxies
 
5555
        or NAT devices and cause them to rebound error messages back to their clients.
 
5556
DOC_END
 
5557
 
4738
5558
NAME: tcp_recv_bufsize
4739
5559
COMMENT: (bytes)
4740
5560
TYPE: b_size_t
4755
5575
TYPE: onoff
4756
5576
IFDEF: ICAP_CLIENT
4757
5577
COMMENT: on|off
4758
 
LOC: TheICAPConfig.onoff
 
5578
LOC: Adaptation::Icap::TheConfig.onoff
4759
5579
DEFAULT: off
4760
5580
DOC_START
4761
5581
        If you want to enable the ICAP module support, set this to on.
4764
5584
NAME: icap_connect_timeout
4765
5585
TYPE: time_t
4766
5586
DEFAULT: none
4767
 
LOC: TheICAPConfig.connect_timeout_raw
 
5587
LOC: Adaptation::Icap::TheConfig.connect_timeout_raw
4768
5588
IFDEF: ICAP_CLIENT
4769
5589
DOC_START
4770
5590
        This parameter specifies how long to wait for the TCP connect to
4780
5600
COMMENT: time-units
4781
5601
TYPE: time_t
4782
5602
DEFAULT: none
4783
 
LOC: TheICAPConfig.io_timeout_raw
 
5603
LOC: Adaptation::Icap::TheConfig.io_timeout_raw
4784
5604
IFDEF: ICAP_CLIENT
4785
5605
DOC_START
4786
5606
        This parameter specifies how long to wait for an I/O activity on
4794
5614
NAME: icap_service_failure_limit
4795
5615
TYPE: int
4796
5616
IFDEF: ICAP_CLIENT
4797
 
LOC: TheICAPConfig.service_failure_limit
 
5617
LOC: Adaptation::Icap::TheConfig.service_failure_limit
4798
5618
DEFAULT: 10
4799
5619
DOC_START
4800
5620
        The limit specifies the number of failures that Squid tolerates
4812
5632
NAME: icap_service_revival_delay
4813
5633
TYPE: int
4814
5634
IFDEF: ICAP_CLIENT
4815
 
LOC: TheICAPConfig.service_revival_delay
 
5635
LOC: Adaptation::Icap::TheConfig.service_revival_delay
4816
5636
DEFAULT: 180
4817
5637
DOC_START
4818
5638
        The delay specifies the number of seconds to wait after an ICAP
4828
5648
TYPE: onoff
4829
5649
IFDEF: ICAP_CLIENT
4830
5650
COMMENT: on|off
4831
 
LOC: TheICAPConfig.preview_enable
 
5651
LOC: Adaptation::Icap::TheConfig.preview_enable
4832
5652
DEFAULT: on
4833
5653
DOC_START
4834
5654
        The ICAP Preview feature allows the ICAP server to handle the
4849
5669
NAME: icap_preview_size
4850
5670
TYPE: int
4851
5671
IFDEF: ICAP_CLIENT
4852
 
LOC: TheICAPConfig.preview_size
 
5672
LOC: Adaptation::Icap::TheConfig.preview_size
4853
5673
DEFAULT: -1
4854
5674
DOC_START
4855
5675
        The default size of preview data to be sent to the ICAP server.
4860
5680
NAME: icap_default_options_ttl
4861
5681
TYPE: int
4862
5682
IFDEF: ICAP_CLIENT
4863
 
LOC: TheICAPConfig.default_options_ttl
 
5683
LOC: Adaptation::Icap::TheConfig.default_options_ttl
4864
5684
DEFAULT: 60
4865
5685
DOC_START
4866
5686
        The default TTL value for ICAP OPTIONS responses that don't have
4871
5691
TYPE: onoff
4872
5692
IFDEF: ICAP_CLIENT
4873
5693
COMMENT: on|off
4874
 
LOC: TheICAPConfig.reuse_connections
 
5694
LOC: Adaptation::Icap::TheConfig.reuse_connections
4875
5695
DEFAULT: on
4876
5696
DOC_START
4877
5697
        Whether or not Squid should use persistent connections to
4882
5702
TYPE: onoff
4883
5703
IFDEF: ICAP_CLIENT
4884
5704
COMMENT: on|off
4885
 
LOC: TheICAPConfig.send_client_ip
 
5705
LOC: Adaptation::Icap::TheConfig.send_client_ip
4886
5706
DEFAULT: off
4887
5707
DOC_START
4888
5708
        This adds the header "X-Client-IP" to ICAP requests.
4892
5712
TYPE: onoff
4893
5713
IFDEF: ICAP_CLIENT
4894
5714
COMMENT: on|off
4895
 
LOC: TheICAPConfig.send_client_username
 
5715
LOC: Adaptation::Icap::TheConfig.send_client_username
4896
5716
DEFAULT: off
4897
5717
DOC_START
4898
5718
        This sends authenticated HTTP client username (if available) to
4904
5724
NAME: icap_client_username_header
4905
5725
TYPE: string
4906
5726
IFDEF: ICAP_CLIENT
4907
 
LOC: TheICAPConfig.client_username_header
 
5727
LOC: Adaptation::Icap::TheConfig.client_username_header
4908
5728
DEFAULT: X-Client-Username
4909
5729
DOC_START
4910
5730
        ICAP request header name to use for send_client_username.
4914
5734
TYPE: onoff
4915
5735
IFDEF: ICAP_CLIENT
4916
5736
COMMENT: on|off
4917
 
LOC: TheICAPConfig.client_username_encode
 
5737
LOC: Adaptation::Icap::TheConfig.client_username_encode
4918
5738
DEFAULT: off
4919
5739
DOC_START
4920
5740
        Whether to base64 encode the authenticated client username.
4923
5743
NAME: icap_service
4924
5744
TYPE: icap_service_type
4925
5745
IFDEF: ICAP_CLIENT
4926
 
LOC: TheICAPConfig
4927
 
DEFAULT: none
4928
 
DOC_START
4929
 
        Defines a single ICAP service
4930
 
 
4931
 
        icap_service servicename vectoring_point bypass service_url
 
5746
LOC: Adaptation::Icap::TheConfig
 
5747
DEFAULT: none
 
5748
DOC_START
 
5749
        Defines a single ICAP service using the following format:
 
5750
 
 
5751
        icap_service service_name vectoring_point [options] service_url
 
5752
 
 
5753
        service_name: ID
 
5754
                an opaque identifier which must be unique in squid.conf
 
5755
 
 
5756
        vectoring_point: reqmod_precache|reqmod_postcache|respmod_precache|respmod_postcache
 
5757
                This specifies at which point of transaction processing the
 
5758
                ICAP service should be activated. *_postcache vectoring points
 
5759
                are not yet supported.
 
5760
 
 
5761
        service_url: icap://servername:port/servicepath
 
5762
                ICAP server and service location.
 
5763
 
 
5764
        ICAP does not allow a single service to handle both REQMOD and RESPMOD
 
5765
        transactions. Squid does not enforce that requirement. You can specify
 
5766
        services with the same service_url and different vectoring_points. You
 
5767
        can even specify multiple identical services as long as their
 
5768
        service_names differ.
 
5769
 
 
5770
 
 
5771
        Service options are separated by white space. ICAP services support
 
5772
        the following name=value options:
 
5773
 
 
5774
        bypass=on|off|1|0
 
5775
                If set to 'on' or '1', the ICAP service is treated as
 
5776
                optional. If the service cannot be reached or malfunctions,
 
5777
                Squid will try to ignore any errors and process the message as
 
5778
                if the service was not enabled. No all ICAP errors can be
 
5779
                bypassed.  If set to 0, the ICAP service is treated as
 
5780
                essential and all ICAP errors will result in an error page
 
5781
                returned to the HTTP client.
 
5782
 
 
5783
                Bypass is off by default: services are treated as essential.
 
5784
 
 
5785
        routing=on|off|1|0
 
5786
                If set to 'on' or '1', the ICAP service is allowed to
 
5787
                dynamically change the current message adaptation plan by
 
5788
                returning a chain of services to be used next. The services
 
5789
                are specified using the X-Next-Services ICAP response header
 
5790
                value, formatted as a comma-separated list of service names.
 
5791
                Each named service should be configured in squid.conf and
 
5792
                should have the same method and vectoring point as the current
 
5793
                ICAP transaction.  Services violating these rules are ignored.
 
5794
                An empty X-Next-Services value results in an empty plan which
 
5795
                ends the current adaptation. 
 
5796
 
 
5797
                Routing is not allowed by default: the ICAP X-Next-Services
 
5798
                response header is ignored.
 
5799
 
 
5800
        Older icap_service format without optional named parameters is
 
5801
        deprecated but supported for backward compatibility.
 
5802
 
 
5803
Example:
 
5804
icap_service svcBlocker reqmod_precache bypass=0 icap://icap1.mydomain.net:1344/reqmod
 
5805
icap_service svcLogger reqmod_precache routing=on icap://icap2.mydomain.net:1344/respmod
 
5806
DOC_END
 
5807
 
 
5808
NAME: icap_class
 
5809
TYPE: icap_class_type
 
5810
IFDEF: ICAP_CLIENT
 
5811
LOC: none
 
5812
DEFAULT: none
 
5813
DOC_START
 
5814
        This deprecated option was documented to define an ICAP service
 
5815
        chain, even though it actually defined a set of similar, redundant
 
5816
        services, and the chains were not supported. 
 
5817
 
 
5818
        To define a set of redundant services, please use the
 
5819
        adaptation_service_set directive. For service chains, use
 
5820
        adaptation_service_chain.
 
5821
DOC_END
 
5822
 
 
5823
NAME: icap_access
 
5824
TYPE: icap_access_type
 
5825
IFDEF: ICAP_CLIENT
 
5826
LOC: none
 
5827
DEFAULT: none
 
5828
DOC_START
 
5829
        This option is deprecated. Please use adaptation_access, which
 
5830
        has the same ICAP functionality, but comes with better
 
5831
        documentation, and eCAP support.
 
5832
DOC_END
 
5833
 
 
5834
COMMENT_START
 
5835
 eCAP OPTIONS
 
5836
 -----------------------------------------------------------------------------
 
5837
COMMENT_END
 
5838
 
 
5839
NAME: ecap_enable
 
5840
TYPE: onoff
 
5841
IFDEF: USE_ECAP
 
5842
COMMENT: on|off
 
5843
LOC: Adaptation::Ecap::TheConfig.onoff
 
5844
DEFAULT: off
 
5845
DOC_START
 
5846
        Controls whether eCAP support is enabled.
 
5847
DOC_END
 
5848
 
 
5849
NAME: ecap_service
 
5850
TYPE: ecap_service_type
 
5851
IFDEF: USE_ECAP
 
5852
LOC: Adaptation::Ecap::TheConfig
 
5853
DEFAULT: none
 
5854
DOC_START
 
5855
        Defines a single eCAP service
 
5856
 
 
5857
        ecap_service servicename vectoring_point bypass service_url
4932
5858
 
4933
5859
        vectoring_point = reqmod_precache|reqmod_postcache|respmod_precache|respmod_postcache
4934
5860
                This specifies at which point of transaction processing the
4935
 
                ICAP service should be activated. *_postcache vectoring points
 
5861
                eCAP service should be activated. *_postcache vectoring points
4936
5862
                are not yet supported.
4937
5863
        bypass = 1|0
4938
 
                If set to 1, the ICAP service is treated as optional. If the
 
5864
                If set to 1, the eCAP service is treated as optional. If the
4939
5865
                service cannot be reached or malfunctions, Squid will try to
4940
5866
                ignore any errors and process the message as if the service
4941
 
                was not enabled. No all ICAP errors can be bypassed.
4942
 
                If set to 0, the ICAP service is treated as essential and all
4943
 
                ICAP errors will result in an error page returned to the
 
5867
                was not enabled. No all eCAP errors can be bypassed.
 
5868
                If set to 0, the eCAP service is treated as essential and all
 
5869
                eCAP errors will result in an error page returned to the
4944
5870
                HTTP client.
4945
 
        service_url = icap://servername:port/service
4946
 
 
4947
 
Example:
4948
 
icap_service service_1 reqmod_precache 0 icap://icap1.mydomain.net:1344/reqmod
4949
 
icap_service service_2 respmod_precache 0 icap://icap2.mydomain.net:1344/respmod
4950
 
DOC_END
4951
 
 
4952
 
NAME: icap_class
4953
 
TYPE: icap_class_type
4954
 
IFDEF: ICAP_CLIENT
4955
 
LOC: TheICAPConfig
4956
 
DEFAULT: none
4957
 
DOC_START
4958
 
        Defines an ICAP service chain. Eventually, multiple services per
4959
 
        vectoring point will be supported. For now, please specify a single
4960
 
        service per class:
4961
 
 
4962
 
        icap_class classname servicename
4963
 
 
4964
 
Example:
4965
 
icap_class class_1 service_1
4966
 
icap class class_2 service_1
4967
 
icap class class_3 service_3
4968
 
DOC_END
4969
 
 
4970
 
NAME: icap_access
4971
 
TYPE: icap_access_type
4972
 
IFDEF: ICAP_CLIENT
4973
 
LOC: TheICAPConfig
4974
 
DEFAULT: none
4975
 
DOC_START
4976
 
        Redirects a request through an ICAP service class, depending
4977
 
        on given acls
4978
 
 
4979
 
        icap_access classname allow|deny [!]aclname...
4980
 
 
4981
 
        The icap_access statements are processed in the order they appear in
4982
 
        this configuration file. If an access list matches, the processing stops.
4983
 
        For an "allow" rule, the specified class is used for the request. A "deny"
4984
 
        rule simply stops processing without using the class. You can also use the
4985
 
        special classname "None".
4986
 
 
4987
 
        For backward compatibility, it is also possible to use services
4988
 
        directly here.
4989
 
Example:
4990
 
icap_access class_1 allow all
4991
 
DOC_END
 
5871
        service_url = ecap://vendor/service_name?custom&cgi=style&parameters=optional
 
5872
 
 
5873
Example:
 
5874
ecap_service service_1 reqmod_precache 0 ecap://filters-R-us/leakDetector?on_error=block
 
5875
ecap_service service_2 respmod_precache 1 icap://filters-R-us/virusFilter?config=/etc/vf.cfg
 
5876
DOC_END
 
5877
 
 
5878
NAME: loadable_modules
 
5879
TYPE: wordlist
 
5880
IFDEF: USE_LOADABLE_MODULES
 
5881
LOC: Config.loadable_module_names
 
5882
DEFAULT: none
 
5883
DOC_START
 
5884
        Instructs Squid to load the specified dynamic module(s) or activate
 
5885
        preloaded module(s).
 
5886
Example:
 
5887
loadable_modules @DEFAULT_PREFIX@/lib/MinimalAdapter.so
 
5888
DOC_END
 
5889
 
 
5890
COMMENT_START
 
5891
 MESSAGE ADAPTATION OPTIONS
 
5892
 -----------------------------------------------------------------------------
 
5893
COMMENT_END
 
5894
 
 
5895
NAME: adaptation_service_set
 
5896
TYPE: adaptation_service_set_type
 
5897
IFDEF: USE_ADAPTATION
 
5898
LOC: none
 
5899
DEFAULT: none
 
5900
DOC_START
 
5901
 
 
5902
        Configures an ordered set of similar, redundant services. This is
 
5903
        useful when hot standby or backup adaptation servers are available.
 
5904
 
 
5905
            adaptation_service_set set_name service_name1 service_name2 ...
 
5906
 
 
5907
        The named services are used in the set declaration order. The first
 
5908
        applicable adaptation service from the set is used first. The next
 
5909
        applicable service is tried if and only if the transaction with the
 
5910
        previous service fails and the message waiting to be adapted is still
 
5911
        intact.
 
5912
 
 
5913
        When adaptation starts, broken services are ignored as if they were
 
5914
        not a part of the set. A broken service is a down optional service.
 
5915
 
 
5916
        The services in a set must be attached to the same vectoring point
 
5917
        (e.g., pre-cache) and use the same adaptation method (e.g., REQMOD).
 
5918
 
 
5919
        If all services in a set are optional then adaptation failures are
 
5920
        bypassable. If all services in the set are essential, then a
 
5921
        transaction failure with one service may still be retried using
 
5922
        another service from the set, but when all services fail, the master
 
5923
        transaction fails as well.
 
5924
 
 
5925
        A set may contain a mix of optional and essential services, but that
 
5926
        is likely to lead to surprising results because broken services become
 
5927
        ignored (see above), making previously bypassable failures fatal.
 
5928
        Technically, it is the bypassability of the last failed service that
 
5929
        matters.
 
5930
 
 
5931
        See also: adaptation_access adaptation_service_chain
 
5932
 
 
5933
Example:
 
5934
adaptation_service_set svcBlocker urlFilterPrimary urlFilterBackup
 
5935
adaptation service_set svcLogger loggerLocal loggerRemote
 
5936
DOC_END
 
5937
 
 
5938
NAME: adaptation_service_chain
 
5939
TYPE: adaptation_service_chain_type
 
5940
IFDEF: USE_ADAPTATION
 
5941
LOC: none
 
5942
DEFAULT: none
 
5943
DOC_START
 
5944
 
 
5945
        Configures a list of complementary services that will be applied
 
5946
        one-by-one, forming an adaptation chain or pipeline. This is useful
 
5947
        when Squid must perform different adaptations on the same message.
 
5948
 
 
5949
            adaptation_service_chain chain_name service_name1 svc_name2 ...
 
5950
 
 
5951
        The named services are used in the chain declaration order. The first
 
5952
        applicable adaptation service from the chain is used first. The next
 
5953
        applicable service is applied to the successful adaptation results of
 
5954
        the previous service in the chain.
 
5955
 
 
5956
        When adaptation starts, broken services are ignored as if they were
 
5957
        not a part of the chain. A broken service is a down optional service.
 
5958
 
 
5959
        Request satisfaction terminates the adaptation chain because Squid
 
5960
        does not currently allow declaration of RESPMOD services at the
 
5961
        "reqmod_precache" vectoring point (see icap_service or ecap_service).
 
5962
 
 
5963
        The services in a chain must be attached to the same vectoring point
 
5964
        (e.g., pre-cache) and use the same adaptation method (e.g., REQMOD).
 
5965
 
 
5966
        A chain may contain a mix of optional and essential services. If an
 
5967
        essential adaptation fails (or the failure cannot be bypassed for
 
5968
        other reasons), the master transaction fails. Otherwise, the failure
 
5969
        is bypassed as if the failed adaptation service was not in the chain.
 
5970
 
 
5971
        See also: adaptation_access adaptation_service_set
 
5972
 
 
5973
Example:
 
5974
adaptation_service_chain svcRequest requestLogger urlFilter leakDetector
 
5975
DOC_END
 
5976
 
 
5977
NAME: adaptation_access
 
5978
TYPE: adaptation_access_type
 
5979
IFDEF: USE_ADAPTATION
 
5980
LOC: none
 
5981
DEFAULT: none
 
5982
DOC_START
 
5983
        Sends an HTTP transaction to an ICAP or eCAP adaptation service.
 
5984
 
 
5985
        adaptation_access service_name allow|deny [!]aclname...
 
5986
        adaptation_access set_name     allow|deny [!]aclname...
 
5987
 
 
5988
        At each supported vectoring point, the adaptation_access
 
5989
        statements are processed in the order they appear in this
 
5990
        configuration file. Statements pointing to the following services
 
5991
        are ignored (i.e., skipped without checking their ACL):
 
5992
 
 
5993
            - services serving different vectoring points
 
5994
            - "broken-but-bypassable" services
 
5995
            - "up" services configured to ignore such transactions
 
5996
              (e.g., based on the ICAP Transfer-Ignore header).
 
5997
 
 
5998
        When a set_name is used, all services in the set are checked
 
5999
        using the same rules, to find the first applicable one. See
 
6000
        adaptation_service_set for details.
 
6001
 
 
6002
        If an access list is checked and there is a match, the
 
6003
        processing stops: For an "allow" rule, the corresponding
 
6004
        adaptation service is used for the transaction. For a "deny"
 
6005
        rule, no adaptation service is activated.
 
6006
 
 
6007
        It is currently not possible to apply more than one adaptation
 
6008
        service at the same vectoring point to the same HTTP transaction.
 
6009
 
 
6010
        See also: icap_service and ecap_service
 
6011
 
 
6012
Example:
 
6013
adaptation_access service_1 allow all
 
6014
DOC_END
 
6015
 
 
6016
NAME: adaptation_service_iteration_limit
 
6017
TYPE: int
 
6018
IFDEF: USE_ADAPTATION
 
6019
LOC: Adaptation::Config::service_iteration_limit
 
6020
DEFAULT: 16
 
6021
DOC_START
 
6022
        Limits the number of iterations allowed when applying adaptation
 
6023
        services to a message. If your longest adaptation set or chain
 
6024
        may have more than 16 services, increase the limit beyond its
 
6025
        default value of 16. If detecting infinite iteration loops sooner
 
6026
        is critical, make the iteration limit match the actual number
 
6027
        of services in your longest adaptation set or chain.
 
6028
 
 
6029
        Infinite adaptation loops are most likely with routing services.
 
6030
 
 
6031
        See also: icap_service routing=1
 
6032
DOC_END
 
6033
 
 
6034
NAME: adaptation_masterx_shared_names
 
6035
TYPE: string
 
6036
IFDEF: USE_ADAPTATION
 
6037
LOC: Adaptation::Config::masterx_shared_name
 
6038
DEFAULT: none
 
6039
DOC_START
 
6040
        For each master transaction (i.e., the HTTP request and response
 
6041
        sequence, including all related ICAP and eCAP exchanges), Squid
 
6042
        maintains a table of metadata. The table entries are (name, value)
 
6043
        pairs shared among eCAP and ICAP exchanges. The table is destroyed
 
6044
        with the master transaction.
 
6045
 
 
6046
        This option specifies the table entry names that Squid must accept
 
6047
        from and forward to the adaptation transactions.
 
6048
 
 
6049
        An ICAP REQMOD or RESPMOD transaction may set an entry in the 
 
6050
        shared table by returning an ICAP header field with a name 
 
6051
        specified in adaptation_masterx_shared_names. Squid will store 
 
6052
        and forward that ICAP header field to subsequent ICAP 
 
6053
        transactions within the same master transaction scope.
 
6054
 
 
6055
        Only one shared entry name is supported at this time.
 
6056
 
 
6057
Example:
 
6058
# share authentication information among ICAP services
 
6059
adaptation_masterx_shared_names X-Subscriber-ID
 
6060
DOC_END
 
6061
 
 
6062
NAME: icap_retry
 
6063
TYPE: acl_access
 
6064
IFDEF: ICAP_CLIENT
 
6065
LOC: Adaptation::Icap::TheConfig.repeat
 
6066
DEFAULT: none
 
6067
DEFAULT_IF_NONE: deny all
 
6068
DOC_START
 
6069
        This ACL determines which retriable ICAP transactions are
 
6070
        retried. Transactions that received a complete ICAP response
 
6071
        and did not have to consume or produce HTTP bodies to receive
 
6072
        that response are usually retriable.
 
6073
 
 
6074
        icap_retry allow|deny [!]aclname ...
 
6075
 
 
6076
        Squid automatically retries some ICAP I/O timeouts and errors
 
6077
        due to persistent connection race conditions.
 
6078
 
 
6079
        See also: icap_retry_limit
 
6080
DOC_END
 
6081
 
 
6082
NAME: icap_retry_limit
 
6083
TYPE: int
 
6084
IFDEF: ICAP_CLIENT
 
6085
LOC: Adaptation::Icap::TheConfig.repeat_limit
 
6086
DEFAULT: 0
 
6087
DOC_START
 
6088
        Limits the number of retries allowed. When set to zero (default),
 
6089
        no retries are allowed.
 
6090
 
 
6091
        Communication errors due to persistent connection race
 
6092
        conditions are unavoidable, automatically retried, and do not
 
6093
        count against this limit.
 
6094
 
 
6095
        See also: icap_retry
 
6096
DOC_END
 
6097
 
4992
6098
 
4993
6099
COMMENT_START
4994
6100
 DNS OPTIONS
5118
6224
        definitions.
5119
6225
DOC_END
5120
6226
 
5121
 
NAME: dns_testnames
5122
 
TYPE: wordlist
5123
 
LOC: Config.dns_testname_list
5124
 
DEFAULT: none
5125
 
DEFAULT_IF_NONE: netscape.com internic.net nlanr.net microsoft.com
5126
 
DOC_START
5127
 
        The DNS tests exit as soon as the first site is successfully looked up
5128
 
 
5129
 
        This test can be disabled with the -D command line option.
5130
 
DOC_END
5131
 
 
5132
6227
NAME: append_domain
5133
6228
TYPE: string
5134
6229
LOC:  Config.appendDomain
5157
6252
        nameservers by setting this option to 'off'.
5158
6253
DOC_END
5159
6254
 
 
6255
NAME: dns_v4_fallback
 
6256
TYPE: onoff
 
6257
DEFAULT: on
 
6258
LOC: Config.onoff.dns_require_A
 
6259
DOC_START
 
6260
        Standard practice with DNS is to lookup either A or AAAA records
 
6261
        and use the results if it succeeds. Only looking up the other if
 
6262
        the first attempt fails or otherwise produces no results.
 
6263
 
 
6264
        That policy however will cause squid to produce error pages for some
 
6265
        servers that advertise AAAA but are unreachable over IPv6.
 
6266
 
 
6267
        If this is ON  squid will always lookup both AAAA and A, using both.
 
6268
        If this is OFF squid will lookup AAAA and only try A if none found.
 
6269
 
 
6270
        WARNING: There are some possibly unwanted side-effects with this on:
 
6271
                *) Doubles the load placed by squid on the DNS network.
 
6272
                *) May negatively impact connection delay times.
 
6273
DOC_END
 
6274
 
5160
6275
NAME: ipcache_size
5161
6276
COMMENT: (number of entries)
5162
6277
TYPE: int
5236
6351
DOC_END
5237
6352
 
5238
6353
NAME: forwarded_for
5239
 
COMMENT: on|off
5240
 
TYPE: onoff
 
6354
COMMENT: on|off|transparent|truncate|delete
 
6355
TYPE: string
5241
6356
DEFAULT: on
5242
6357
LOC: opt_forwarded_for
5243
6358
DOC_START
5244
 
        If set, Squid will include your system's IP address or name
5245
 
        in the HTTP requests it forwards.  By default it looks like
5246
 
        this:
 
6359
        If set to "on", Squid will append your client's IP address
 
6360
        in the HTTP requests it forwards. By default it looks like:
5247
6361
 
5248
6362
                X-Forwarded-For: 192.1.2.3
5249
6363
 
5250
 
        If you disable this, it will appear as
 
6364
        If set to "off", it will appear as
5251
6365
 
5252
6366
                X-Forwarded-For: unknown
 
6367
 
 
6368
        If set to "transparent", Squid will not alter the
 
6369
        X-Forwarded-For header in any way.
 
6370
 
 
6371
        If set to "delete", Squid will delete the entire
 
6372
        X-Forwarded-For header.
 
6373
 
 
6374
        If set to "truncate", Squid will remove all existing
 
6375
        X-Forwarded-For entries, and place itself as the sole entry.
5253
6376
DOC_END
5254
6377
 
5255
6378
NAME: cachemgr_passwd
5430
6553
                violation.
5431
6554
DOC_END
5432
6555
 
5433
 
NAME: coredump_dir
5434
 
TYPE: string
5435
 
LOC: Config.coredump_dir
5436
 
DEFAULT: none
5437
 
DEFAULT_IF_NONE: none
5438
 
DOC_START
5439
 
        By default Squid leaves core files in the directory from where
5440
 
        it was started. If you set 'coredump_dir' to a directory
5441
 
        that exists, Squid will chdir() to that directory at startup
5442
 
        and coredump files will be left there.
5443
 
 
5444
 
NOCOMMENT_START
5445
 
# Leave coredumps in the first cache dir
5446
 
coredump_dir @DEFAULT_SWAP_DIR@
5447
 
NOCOMMENT_END
5448
 
DOC_END
5449
 
 
5450
6556
NAME: chroot
5451
6557
TYPE: string
5452
6558
LOC: Config.chroot_dir
5453
6559
DEFAULT: none
5454
6560
DOC_START
5455
 
        Specifies a directiry where Squid should do a chroot() while
 
6561
        Specifies a directory where Squid should do a chroot() while
5456
6562
        initializing.  This also causes Squid to fully drop root
5457
6563
        privileges after initializing.  This means, for example, if you
5458
6564
        use a HTTP port less than 1024 and try to reconfigure, you may
5462
6568
NAME: balance_on_multiple_ip
5463
6569
TYPE: onoff
5464
6570
LOC: Config.onoff.balance_on_multiple_ip
5465
 
DEFAULT: on
 
6571
DEFAULT: off
5466
6572
DOC_START
 
6573
        Modern IP resolvers in squid sort lookup results by preferred access.
 
6574
        By default squid will use these IP in order and only rotates to
 
6575
        the next listed when the most preffered fails.
 
6576
 
5467
6577
        Some load balancing servers based on round robin DNS have been
5468
6578
        found not to preserve user session state across requests
5469
6579
        to different IP addresses.
5470
6580
 
5471
 
        By default Squid rotates IP's per request. By disabling
5472
 
        this directive only connection failure triggers rotation.
 
6581
        Enabling this directive Squid rotates IP's per request.
5473
6582
DOC_END
5474
6583
 
5475
6584
NAME: pipeline_prefetch