Squid: The Definitive Guide

Book description

Squid is the most popular Web caching software in use today, and it works on a variety of platforms including Linux, FreeBSD, and Windows. Squid improves network performance by reducing the amount of bandwidth used when surfing the Web. It makes web pages load faster and can even reduce the load on your web server. By caching and reusing popular web content, Squid allows you to get by with smaller network connections. It also protects the host on your internal network by acting as a firewall and proxying your internal web traffic. You can use Squid to collect statistics about the traffic on your network, prevent users from visiting inappropriate web sites at work or school, ensure that only authorized users can surf the Internet, and enhance your privacy by filtering sensitive information from web requests. Companies, schools, libraries, and organizations that use web-caching proxies can look forward to a multitude of benefits.Written by Duane Wessels, the creator of Squid, Squid: The Definitive Guide will help you configure and tune Squid for your particular situation. Newcomers to Squid will learn how to download, compile, and install code. Seasoned users of Squid will be interested in the later chapters, which tackle advanced topics such as high-performance storage options, rewriting requests, HTTP server acceleration, monitoring, debugging, and troubleshooting Squid.Topics covered include:

  • Compiling and installing Squid
  • Running Squid
  • Using Squid's sophisticated access controls
  • Tuning disk storage for optimal performance
  • Configuring your operating system for HTTP interception
  • Forwarding Requests to other web caches
  • Using redirectors to rewrite user requests
  • Monitoring Squid with the cache manager and SNMP
  • Using Squid to accelerate and protect HTTP servers
  • Managing bandwidth consumption with Delay Pools

Publisher resources

View/Submit Errata

Table of contents

  1. Dedication
  2. Preface
    1. About This Book
      1. Topics Not Covered
    2. Recommended Reading
    3. Conventions Used in This Book
    4. Comments and Questions
    5. Acknowledgments
  3. 1. Introduction
    1. 1.1. Web Caching
    2. 1.2. A Brief History of Squid
    3. 1.3. Hardware and Operating System Requirements
    4. 1.4. Squid Is Open Source
    5. 1.5. Squid’s Home on the Web
    6. 1.6. Getting Help
      1. 1.6.1. Frequently Asked Questions
      2. 1.6.2. Mailing Lists
        1. 1.6.2.1. squid-users
        2. 1.6.2.2. squid-announce
        3. 1.6.2.3. squid-dev
      3. 1.6.3. Professional Support
    7. 1.7. Getting Started with Squid
    8. 1.8. Exercises
  4. 2. Getting Squid
    1. 2.1. Versions and Releases
    2. 2.2. Use the Source, Luke
    3. 2.3. Precompiled Binaries
    4. 2.4. Anonymous CVS
    5. 2.5. devel.squid-cache.org
    6. 2.6. Exercises
  5. 3. Compiling and Installing
    1. 3.1. Before You Start
    2. 3.2. Unpacking the Source
    3. 3.3. Pretuning Your Kernel
      1. 3.3.1. File Descriptors
        1. 3.3.1.1. FreeBSD, NetBSD, OpenBSD
        2. 3.3.1.2. Linux
        3. 3.3.1.3. Solaris
      2. 3.3.2. Mbuf Clusters
      3. 3.3.3. Ephemeral Port Range
    4. 3.4. The configure Script
      1. 3.4.1. configure Options
      2. 3.4.2. Running configure
    5. 3.5. make
    6. 3.6. make Install
    7. 3.7. Applying a Patch
    8. 3.8. Running configure Later
    9. 3.9. Exercises
  6. 4. Configuration Guide for the Eager
    1. 4.1. The squid.conf Syntax
    2. 4.2. User IDs
    3. 4.3. Port Numbers
    4. 4.4. Log File Pathnames
    5. 4.5. Access Controls
    6. 4.6. Visible Hostname
    7. 4.7. Administrative Contact Information
    8. 4.8. Next Steps
    9. 4.9. Exercises
  7. 5. Running Squid
    1. 5.1. Squid Command-Line Options
    2. 5.2. Check Your Configuration File for Errors
    3. 5.3. Initializing Cache Directories
    4. 5.4. Testing Squid in a Terminal Window
    5. 5.5. Running Squid as a Daemon Process
      1. 5.5.1. The squid_start Script
    6. 5.6. Boot Scripts
      1. 5.6.1. /etc/rc.local
      2. 5.6.2. init.d and rc.d
      3. 5.6.3. /etc/inittab
    7. 5.7. A chroot Environment
    8. 5.8. Stopping Squid
    9. 5.9. Reconfiguring a Running Squid Process
    10. 5.10. Rotating the Log Files
    11. 5.11. Exercises
  8. 6. All About Access Controls
    1. 6.1. Access Control Elements
      1. 6.1.1. A Few Base ACL Types
        1. 6.1.1.1. IP addresses
        2. 6.1.1.2. Domain names
        3. 6.1.1.3. Usernames
        4. 6.1.1.4. Regular expressions
        5. 6.1.1.5. TCP port numbers
        6. 6.1.1.6. Autonomous system numbers
      2. 6.1.2. ACL Types
        1. 6.1.2.1. src
        2. 6.1.2.2. dst
        3. 6.1.2.3. myip
        4. 6.1.2.4. dstdomain
        5. 6.1.2.5. srcdomain
        6. 6.1.2.6. port
        7. 6.1.2.7. myport
        8. 6.1.2.8. method
        9. 6.1.2.9. proto
        10. 6.1.2.10. time
        11. 6.1.2.11. ident
        12. 6.1.2.12. proxy_auth
        13. 6.1.2.13. src_as
        14. 6.1.2.14. dst_as
        15. 6.1.2.15. snmp_community
        16. 6.1.2.16. maxconn
        17. 6.1.2.17. arp
        18. 6.1.2.18. srcdom_regex
        19. 6.1.2.19. dstdom_regex
        20. 6.1.2.20. url_regex
        21. 6.1.2.21. urlpath_regex
        22. 6.1.2.22. browser
        23. 6.1.2.23. req_mime_type
        24. 6.1.2.24. rep_mime_type
        25. 6.1.2.25. ident_regex
        26. 6.1.2.26. proxy_auth_regex
      3. 6.1.3. External ACLs
      4. 6.1.4. Dealing with Long ACL Lists
      5. 6.1.5. How Squid Matches Access Control Elements
    2. 6.2. Access Control Rules
      1. 6.2.1. Access Rule Syntax
      2. 6.2.2. How Squid Matches Access Rules
      3. 6.2.3. Access List Style
      4. 6.2.4. Delayed Checks
      5. 6.2.5. Slow and Fast Rule Checks
    3. 6.3. Common Scenarios
      1. 6.3.1. Allowing Local Clients Only
      2. 6.3.2. Blocking a Few Misbehaving Clients
      3. 6.3.3. Denying Pornography
      4. 6.3.4. Restricting Usage During Working Hours
      5. 6.3.5. Preventing Squid from Talking to Non-HTTP Servers
      6. 6.3.6. Giving Certain Users Special Access
      7. 6.3.7. Preventing Abuse from Siblings
      8. 6.3.8. Denying Requests with IP Addresses
      9. 6.3.9. An http_reply_access Example
      10. 6.3.10. Preventing Cache Hits for Local Sites
    4. 6.4. Testing Access Controls
    5. 6.5. Exercises
  9. 7. Disk Cache Basics
    1. 7.1. The cache_dir Directive
      1. 7.1.1. Scheme
      2. 7.1.2. Directory
      3. 7.1.3. Size
        1. 7.1.3.1. Inodes
        2. 7.1.3.2. The relationship between disk space and process size
      4. 7.1.4. L1 and L2
      5. 7.1.5. Options
        1. 7.1.5.1. read-only
        2. 7.1.5.2. max-size
    2. 7.2. Disk Space Watermarks
    3. 7.3. Object Size Limits
    4. 7.4. Allocating Objects to Cache Directories
    5. 7.5. Replacement Policies
    6. 7.6. Removing Cached Objects
      1. 7.6.1. Removing Individual Objects
      2. 7.6.2. Removing a Group of Objects
      3. 7.6.3. Removing All Objects
    7. 7.7. refresh_pattern
    8. 7.8. Exercises
  10. 8. Advanced Disk Cache Topics
    1. 8.1. Do I Have a Disk I/O Bottleneck?
    2. 8.2. Filesystem Tuning Options
    3. 8.3. Alternative Filesystems
    4. 8.4. The aufs Storage Scheme
      1. 8.4.1. How aufs Works
      2. 8.4.2. aufs Issues
      3. 8.4.3. Monitoring aufs Operation
    5. 8.5. The diskd Storage Scheme
      1. 8.5.1. How diskd Works
      2. 8.5.2. Compiling and Configuring diskd
      3. 8.5.3. Monitoring diskd
    6. 8.6. The coss Storage Scheme
      1. 8.6.1. How coss Works
      2. 8.6.2. Compiling and Configuring coss
      3. 8.6.3. coss Issues
    7. 8.7. The null Storage Scheme
    8. 8.8. Which Is Best for Me?
    9. 8.9. Exercises
  11. 9. Interception Caching
    1. 9.1. How It Works
    2. 9.2. Why (Not) Intercept?
    3. 9.3. The Network Device
      1. 9.3.1. Inline Squid
      2. 9.3.2. Layer Four Switches
        1. 9.3.2.1. Alteon/Nortel
        2. 9.3.2.2. Foundry
        3. 9.3.2.3. Extreme Networks
        4. 9.3.2.4. Cisco Arrowpoint
        5. 9.3.2.5. A comment on HTTP servers and health checks
      3. 9.3.3. Cisco Policy Routing
      4. 9.3.4. Web Cache Coordination Protocol
        1. 9.3.4.1. WCCPv1
        2. 9.3.4.2. WCCPv2
        3. 9.3.4.3. Debugging
    4. 9.4. Operating System Tweaks
      1. 9.4.1. Linux
        1. 9.4.1.1. Linux and WCCP
      2. 9.4.2. FreeBSD
        1. 9.4.2.1. FreeBSD and WCCP
      3. 9.4.3. OpenBSD
        1. 9.4.3.1. OpenBSD and WCCP
      4. 9.4.4. IPFilter on NetBSD and Others
        1. 9.4.4.1. NetBSD and WCCP
    5. 9.5. Configure Squid
      1. 9.5.1. Configuring WCCPv1
    6. 9.6. Debugging Problems
    7. 9.7. Exercises
  12. 10. Talking to Other Squids
    1. 10.1. Some Terminology
    2. 10.2. Why (Not) Use a Hierarchy?
    3. 10.3. Telling Squid About Your Neighbors
      1. 10.3.1. cache_peer Options
      2. 10.3.2. Neighbor State
      3. 10.3.3. Altering the Relationship
    4. 10.4. Restricting Requests to Neighbors
      1. 10.4.1. cache_peer_access
      2. 10.4.2. cache_peer_domain
      3. 10.4.3. never_direct
      4. 10.4.4. always_direct
      5. 10.4.5. hierarchy_stoplist
      6. 10.4.6. nonhierarchical_direct
      7. 10.4.7. prefer_direct
    5. 10.5. The Network Measurement Database
    6. 10.6. Internet Cache Protocol
      1. 10.6.1. Being an ICP Server
        1. 10.6.1.1. The icp_hit_stale directive
        2. 10.6.1.2. The ICP_MISS_NOFETCH feature
        3. 10.6.1.3. The test_reachability directive
      2. 10.6.2. Being an ICP Client
        1. 10.6.2.1. cache_peer options for ICP clients
        2. 10.6.2.2. ICP and netdb
      3. 10.6.3. Multicast ICP
        1. 10.6.3.1. Multicast ICP server
        2. 10.6.3.2. Multicast ICP client
        3. 10.6.3.3. Multicast ICP example
    7. 10.7. Cache Digests
      1. 10.7.1. Configuring Squid for Cache Digests
    8. 10.8. Hypertext Caching Protocol
      1. 10.8.1. Configuring Squid for HTCP
    9. 10.9. Cache Array Routing Protocol
      1. 10.9.1. Configuring Squid for CARP
    10. 10.10. Putting It All Together
      1. 10.10.1. Step 1: Determine Direct Options
      2. 10.10.2. Step 2: Neighbor Selection Protocols
      3. 10.10.3. Step 2a: ICP/HTCP Reply Processing
      4. 10.10.4. Step 3: Secondary Parent Selection
      5. 10.10.5. Retrying
    11. 10.11. How Do I ...
      1. 10.11.1. Send All Requests Through Another Proxy?
      2. 10.11.2. Send All Requests Through Another Proxy Unless It’s Down?
      3. 10.11.3. Make Sure Squid Doesn’t Use Neighbors for Some Requests?
      4. 10.11.4. Send Some Requests Through a Parent to Bypass Local Filters?
    12. 10.12. Exercises
  13. 11. Redirectors
    1. 11.1. The Redirector Interface
      1. 11.1.1. Handling URIs That Contain Whitespace
      2. 11.1.2. Generating HTTP Redirect Messages
    2. 11.2. Some Sample Redirectors
    3. 11.3. The Redirector Pool
    4. 11.4. Configuring Squid
      1. 11.4.1. redirect_program
      2. 11.4.2. redirect_children
      3. 11.4.3. redirect_rewrites_host_header
      4. 11.4.4. redirector_access
      5. 11.4.5. redirector_bypass
    5. 11.5. Popular Redirectors
      1. 11.5.1. Squirm
      2. 11.5.2. Jesred
      3. 11.5.3. squidGuard
      4. 11.5.4. AdZapper
    6. 11.6. Exercises
  14. 12. Authentication Helpers
    1. 12.1. Configuring Squid
    2. 12.2. HTTP Basic Authentication
      1. 12.2.1. NCSA
      2. 12.2.2. LDAP
      3. 12.2.3. MSNT
      4. 12.2.4. Multi-domain-NTLM
      5. 12.2.5. PAM
      6. 12.2.6. SASL
      7. 12.2.7. SMB
      8. 12.2.8. YP
      9. 12.2.9. getpwnam
      10. 12.2.10. winbind
      11. 12.2.11. The Basic Auth API
    3. 12.3. HTTP Digest Authentication
      1. 12.3.1. password
      2. 12.3.2. Digest Authentication API
    4. 12.4. Microsoft NTLM Authentication
      1. 12.4.1. SMB
      2. 12.4.2. winbind
      3. 12.4.3. NTLM Authentication API
    5. 12.5. External ACLs
      1. 12.5.1. ip_user
      2. 12.5.2. ldap_group
      3. 12.5.3. unix_group
      4. 12.5.4. wbinfo_group
      5. 12.5.5. winbind_group
      6. 12.5.6. Write Your Own
    6. 12.6. Exercises
  15. 13. Log Files
    1. 13.1. cache.log
      1. 13.1.1. Debugging Levels
      2. 13.1.2. Forwarding cache.log Messages to the System Log
      3. 13.1.3. Dumping cache.log Messages to Your Terminal
    2. 13.2. access.log
      1. 13.2.1. access.log Result Codes
      2. 13.2.2. HTTP Response Status Codes
      3. 13.2.3. access.log Peering Codes
      4. 13.2.4. Configuration Directives That Affect access.log
        1. 13.2.4.1. log_icp_queries
        2. 13.2.4.2. emulate_httpd_log
        3. 13.2.4.3. log_mime_hdrs
        4. 13.2.4.4. log_fqdn
        5. 13.2.4.5. ident_lookup_access
        6. 13.2.4.6. log_ip_on_direct
        7. 13.2.4.7. client_netmask
        8. 13.2.4.8. strip_query_terms
        9. 13.2.4.9. uri_whitespace
        10. 13.2.4.10. buffered_logs
      5. 13.2.5. access.log Analysis Tools
    3. 13.3. store.log
      1. 13.3.1. Mapping File Numbers to Pathnames
    4. 13.4. referer.log
    5. 13.5. useragent.log
    6. 13.6. swap.state
    7. 13.7. Rotating the Log Files
    8. 13.8. Privacy and Security
    9. 13.9. Exercises
  16. 14. Monitoring Squid
    1. 14.1. cache.log Warnings
    2. 14.2. The Cache Manager
      1. 14.2.1. Cache Manager Pages
        1. 14.2.1.1. leaks: Memory Leak Tracking
        2. 14.2.1.2. mem: Memory Utilization
        3. 14.2.1.3. cbdata: Callback Data Registry Contents
        4. 14.2.1.4. events: Event Queue
        5. 14.2.1.5. squidaio_counts: Async IO Function Counters
        6. 14.2.1.6. diskd: DISKD Stats
        7. 14.2.1.7. config: Current Squid Configuration*
        8. 14.2.1.8. comm_incoming: comm_incoming( ) Stats
        9. 14.2.1.9. ipcache: IP Cache Stats and Contents
        10. 14.2.1.10. fqdncache: FQDN Cache Stats and Contents
        11. 14.2.1.11. idns: Internal DNS Statistics
        12. 14.2.1.12. dns: Dnsserver Statistics
        13. 14.2.1.13. redirector: URL Redirector Stats
        14. 14.2.1.14. basicauthenticator: Basic User Authenticator Stats
        15. 14.2.1.15. digestauthenticator: Digest User Authenticator Stats
        16. 14.2.1.16. ntlmauthenticator: NTLM User Authenticator Stats
        17. 14.2.1.17. external_acl: External ACL Stats
        18. 14.2.1.18. http_headers: HTTP Header Statistics
        19. 14.2.1.19. via_headers: Via Request Headers
        20. 14.2.1.20. forw_headers: X-Forwarded-For Request Headers
        21. 14.2.1.21. menu: This Cache Manager Menu
        22. 14.2.1.22. shutdown: Shut Down the Squid Process*
        23. 14.2.1.23. offline_toggle: Toggle offline_mode Setting*
        24. 14.2.1.24. info: General Runtime Information
        25. 14.2.1.25. filedescriptors: Process File Descriptor Allocation
        26. 14.2.1.26. objects: All Cache Objects
        27. 14.2.1.27. vm_objects: In-Memory and In-Transit Objects
        28. 14.2.1.28. openfd_objects: Objects with Swapout Files Open
        29. 14.2.1.29. io: Server-Side Network read( ) Size Histograms
        30. 14.2.1.30. counters: Traffic and Resource Counters
        31. 14.2.1.31. peer_select: Peer Selection Algorithms
        32. 14.2.1.32. digest_stats: Cache Digest and ICP Blob
        33. 14.2.1.33. 5min: 5 Minute Average of Counters
        34. 14.2.1.34. 60min: 60 Minute Average of Counters
        35. 14.2.1.35. utilization: Cache Utilization
        36. 14.2.1.36. histograms: Full Histogram Counts
        37. 14.2.1.37. active_requests: Client-Side Active Requests
        38. 14.2.1.38. store_digest: Store Digest
        39. 14.2.1.39. storedir: Store Directory Stats
        40. 14.2.1.40. store_check_cachable_stats: storeCheckCachable( ) Stats
        41. 14.2.1.41. store_io: Store IO Interface Stats
        42. 14.2.1.42. pconn: Persistent Connection Utilization Histograms
        43. 14.2.1.43. refresh: Refresh Algorithm Statistics
        44. 14.2.1.44. delay: Delay Pool Levels
        45. 14.2.1.45. forward: Request Forwarding Statistics
        46. 14.2.1.46. client_list: Cache Client List
        47. 14.2.1.47. netdb: Network Measurement Database
        48. 14.2.1.48. asndb: AS Number Database
        49. 14.2.1.49. carp: CARP Information
        50. 14.2.1.50. server_list: Peer Cache Statistics
        51. 14.2.1.51. non_peers: List of Unknown Sites Sending ICP messages
      2. 14.2.2. Cache Manager Access Controls
        1. 14.2.2.1. http_access
        2. 14.2.2.2. cachemgr_passwd
        3. 14.2.2.3. cachemgr.cgi
      3. 14.2.3. Reasons to Dislike the Cache Manager
      4. 14.2.4. Squid-RRD
    3. 14.3. Using SNMP
      1. 14.3.1. Using snmpwalk and snmpget
      2. 14.3.2. The Squid MIB
    4. 14.4. Exercises
  17. 15. Server Accelerator Mode
    1. 15.1. Overview
    2. 15.2. Configuring Squid
      1. 15.2.1. http_port
      2. 15.2.2. https_port
      3. 15.2.3. httpd_accel_host
      4. 15.2.4. httpd_accel_port
      5. 15.2.5. httpd_accel_uses_host_header
      6. 15.2.6. httpd_accel_single_host
      7. 15.2.7. httpd_accel_with_proxy
    3. 15.3. Gee, That Was Confusing!
      1. 15.3.1. One Box, One Server Name
      2. 15.3.2. One Box, Many Server Names
      3. 15.3.3. Many Boxes, One Server Name
      4. 15.3.4. Many Boxes, Many Server Names
    4. 15.4. Access Controls
    5. 15.5. Content Negotiation
    6. 15.6. Gotchas
      1. 15.6.1. Logging
      2. 15.6.2. Ignoring Reloads
      3. 15.6.3. Uncachable Content
      4. 15.6.4. Errors
      5. 15.6.5. Purging Objects
      6. 15.6.6. Neighbors
    7. 15.7. Exercises
  18. 16. Debugging and Troubleshooting
    1. 16.1. Some Common Problems
      1. 16.1.1. “Failed to make swap directory”
      2. 16.1.2. “Address already in use”
      3. 16.1.3. “Could not determine fully qualified hostname”
      4. 16.1.4. “DNS name lookup tests failed”
      5. 16.1.5. “Illegal character in hostname”
      6. 16.1.6. “Running out of filedescriptors”
      7. 16.1.7. “icmpRecv: Connection refused”
      8. 16.1.8. Squid Becomes Slow After Running for Some Time
      9. 16.1.9. Debugging Access Controls
    2. 16.2. Debugging via cache.log
    3. 16.3. Core Dumps, Assertions, and Stack Traces
      1. 16.3.1. Can’t Find the Core File?
    4. 16.4. Replicating Problems
    5. 16.5. Reporting a Bug
    6. 16.6. Exercises
  19. A. Config File Reference
    1. http_port
    2. https_port
    3. ssl_unclean_shutdown
    4. icp_port
    5. htcp_port
    6. mcast_groups
    7. udp_incoming_address
    8. udp_outgoing_address
    9. cache_peer
    10. cache_peer_domain
    11. neighbor_type_domain
    12. icp_query_timeout
    13. maximum_icp_query_timeout
    14. mcast_icp_query_timeout
    15. dead_peer_timeout
    16. hierarchy_stoplist
    17. no_cache
    18. cache_access_log
    19. cache_log
    20. cache_store_log
    21. cache_swap_log
    22. emulate_httpd_log
    23. log_ip_on_direct
    24. cache_dir
    25. cache_mem
    26. cache_swap_low
    27. cache_swap_high
    28. maximum_object_size
    29. minimum_object_size
    30. maximum_object_size_in_memory
    31. cache_replacement_policy
    32. memory_replacement_policy
    33. store_dir_select_algorithm
    34. mime_table
    35. ipcache_size
    36. ipcache_low
    37. ipcache_high
    38. fqdncache_size
    39. log_mime_hdrs
    40. useragent_log
    41. referer_log
    42. pid_filename
    43. debug_options
    44. log_fqdn
    45. client_netmask
    46. ftp_user
    47. ftp_list_width
    48. ftp_passive
    49. ftp_sanitycheck
    50. cache_dns_program
    51. dns_children
    52. dns_retransmit_interval
    53. dns_timeout
    54. dns_defnames
    55. dns_nameservers
    56. hosts_file
    57. diskd_program
    58. unlinkd_program
    59. pinger_program
    60. redirect_program
    61. redirect_children
    62. redirect_rewrites_host_header
    63. redirector_access
    64. redirector_bypass
    65. auth_param
    66. authenticate_ttl
    67. authenticate_cache_garbage_interval
    68. authenticate_ip_ttl
    69. external_acl_type
    70. wais_relay_host
    71. wais_relay_port
    72. request_header_max_size
    73. request_body_max_size
    74. refresh_pattern
    75. quick_abort_min
    76. quick_abort_max
    77. quick_abort_pct
    78. negative_ttl
    79. positive_dns_ttl
    80. negative_dns_ttl
    81. range_offset_limit
    82. connect_timeout
    83. peer_connect_timeout
    84. read_timeout
    85. request_timeout
    86. persistent_request_timeout
    87. client_lifetime
    88. half_closed_clients
    89. pconn_timeout
    90. ident_timeout
    91. shutdown_lifetime
    92. acl
    93. http_access
    94. http_reply_access
    95. icp_access
    96. miss_access
    97. cache_peer_access
    98. ident_lookup_access
    99. tcp_outgoing_tos
    100. tcp_outgoing_address
    101. reply_body_max_size
    102. cache_mgr
    103. cache_effective_user
    104. cache_effective_group
    105. visible_hostname
    106. unique_hostname
    107. hostname_aliases
    108. announce_period
    109. announce_host
    110. announce_file
    111. announce_port
    112. httpd_accel_host
    113. httpd_accel_port
    114. httpd_accel_single_host
    115. httpd_accel_with_proxy
    116. httpd_accel_uses_host_header
    117. dns_testnames
    118. logfile_rotate
    119. append_domain
    120. tcp_recv_bufsize
    121. err_html_text
    122. deny_info
    123. memory_pools
    124. memory_pools_limit
    125. forwarded_for
    126. log_icp_queries
    127. icp_hit_stale
    128. minimum_direct_hops
    129. minimum_direct_rtt
    130. cachemgr_passwd
    131. store_avg_object_size
    132. store_objects_per_bucket
    133. client_db
    134. netdb_low
    135. netdb_high
    136. netdb_ping_period
    137. query_icmp
    138. test_reachability
    139. buffered_logs
    140. reload_into_ims
    141. always_direct
    142. never_direct
    143. header_access
    144. header_replace
    145. icon_directory
    146. error_directory
    147. maximum_single_addr_tries
    148. snmp_port
    149. snmp_access
    150. snmp_incoming_address
    151. snmp_outgoing_address
    152. as_whois_server
    153. wccp_router
    154. wccp_version
    155. wccp_incoming_address
    156. wccp_outgoing_address
    157. delay_pools
    158. delay_class
    159. delay_access
    160. delay_parameters
    161. delay_initial_bucket_level
    162. incoming_icp_average
    163. incoming_http_average
    164. incoming_dns_average
    165. min_icp_poll_cnt
    166. min_dns_poll_cnt
    167. min_http_poll_cnt
    168. max_open_disk_fds
    169. offline_mode
    170. uri_whitespace
    171. broken_posts
    172. mcast_miss_addr
    173. mcast_miss_ttl
    174. mcast_miss_port
    175. mcast_miss_encode_key
    176. nonhierarchical_direct
    177. prefer_direct
    178. strip_query_terms
    179. coredump_dir
    180. ignore_unknown_nameservers
    181. digest_generation
    182. digest_bits_per_entry
    183. digest_rebuild_period
    184. digest_rewrite_period
    185. digest_swapout_chunk_size
    186. digest_rebuild_chunk_percentage
    187. chroot
    188. client_persistent_connections
    189. server_persistent_connections
    190. pipeline_prefetch
    191. extension_methods
    192. request_entities
    193. high_response_time_warning
    194. high_page_fault_warning
    195. high_memory_warning
    196. ie_refresh
    197. vary_ignore_expire
    198. sleep_after_fork
  20. B. The Memory Cache
  21. C. Delay Pools
    1. C.1. Overview
    2. C.2. Configuring Squid
      1. C.2.1. delay_pools
      2. C.2.2. delay_class
      3. C.2.3. delay_parameters
      4. C.2.4. delay_initial_bucket_level
      5. C.2.5. delay_access
      6. C.2.6. cache_peer no-delay Option
    3. C.3. Examples
    4. C.4. Issues
      1. C.4.1. Fairness
      2. C.4.2. Application Versus Transport Layer
      3. C.4.3. Fixed Subnetting Scheme
    5. C.5. Monitoring Delay Pools
  22. D. Filesystem Performance Benchmarks
    1. D.1. The Benchmark Environment
      1. D.1.1. Hardware for Squid
      2. D.1.2. Squid Version and Configuration
      3. D.1.3. Web Polygraph Workload
    2. D.2. General Comments
    3. D.3. Linux
    4. D.4. FreeBSD
    5. D.5. OpenBSD
    6. D.6. NetBSD
    7. D.7. Solaris
    8. D.8. Number of Disk Spindles
  23. E. Squid on Windows
    1. E.1. Cygwin
      1. E.1.1. Installing Cygwin
      2. E.1.2. The Squid Package
      3. E.1.3. Compiling Squid
      4. E.1.4. Configuring and Running
    2. E.2. SquidNT
  24. F. Configuring Squid Clients
    1. F.1. Manually
      1. F.1.1. Netscape/Mozilla
      2. F.1.2. Explorer
      3. F.1.3. Konqueror
      4. F.1.4. Opera
      5. F.1.5. Lynx
      6. F.1.6. Environment Variables
    2. F.2. Proxy Auto-Configuration
    3. F.3. WPAD
    4. F.4. Summary
  25. About the Author
  26. Colophon
  27. Copyright

Product information

  • Title: Squid: The Definitive Guide
  • Author(s): Duane Wessels
  • Release date: January 2004
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596001629