Cover image for Squid : the definitive guide
Squid : the definitive guide
Wessels, Duane.
Personal Author:
Publication Information:
Sebastopol, CA : O'Reilly & Associates, Inc., [2004]

Physical Description:
xx, 441 pages : illustrations ; 24 cm
Format :


Call Number
Material Type
Home Location
Item Holds
TK7895.M4 W48 2004 Adult Non-Fiction Non-Fiction Area

On Order



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

Author Notes

Duane Wessels became interested in web caching in 1994 as a topic for his master's thesis in telecommunications at the University of Colorado, Boulder. He worked with members of the Harvest research project to develop web caching software. After the departure of other members to industry jobs, he continued the software development under the name Squid. Another significant part of Duane's research with the National Laboratory for Applied Network Research has been the operation of 6 to 8 large caches throughout the U.S. These caches receive requests from hundreds of other caches, all connected in a "global cache mesh."

Table of Contents

Prefacep. xiii
1. Introductionp. 1
Web Cachingp. 2
A Brief History of Squidp. 3
Hardware and Operating System Requirementsp. 4
Squid Is Open Sourcep. 5
Squid's Home on the Webp. 5
Getting Helpp. 5
Getting Started with Squidp. 7
Exercisesp. 8
2. Getting Squidp. 9
Versions and Releasesp. 9
Use the Source, Lukep. 10
Precompiled Binariesp. 11
Anonymous CVSp. 11
devel.squid-cache.orgp. 12
Exercisesp. 12
3. Compiling and Installingp. 13
Before You Startp. 13
Unpacking the Sourcep. 14
Pretuning Your Kernelp. 14
The configure Scriptp. 18
Makep. 27
Make Installp. 29
Applying a Patchp. 32
Running configure Laterp. 33
Exercisesp. 34
4. Configuration Guide for the Eagerp. 35
The squid.conf Syntaxp. 35
User IDsp. 37
Port Numbersp. 38
Log File Pathnamesp. 38
Access Controlsp. 39
Visible Hostnamep. 40
Administrative Contact Informationp. 42
Next Stepsp. 42
Exercisesp. 42
5. Running Squidp. 43
Squid Command-Line Optionsp. 43
Check Your Configuration File for Errorsp. 45
Initializing Cache Directoriesp. 46
Testing Squid in a Terminal Windowp. 46
Running Squid as a Daemon Processp. 47
Boot Scriptsp. 48
A chroot Environmentp. 50
Stopping Squidp. 51
Reconfiguring a Running Squid Processp. 52
Rotating the Log Filesp. 53
Exercisesp. 53
6. All About Access Controlsp. 54
Access Control Elementsp. 54
Access Control Rulesp. 78
Common Scenariosp. 85
Testing Access Controlsp. 91
Exercisesp. 92
7. Disk Cache Basicsp. 93
The cache_dir Directivep. 94
Disk Space Watermarksp. 99
Object Size Limitsp. 99
Allocating Objects to Cache Directoriesp. 100
Replacement Policiesp. 101
Removing Cached Objectsp. 102
refresh_patternp. 104
Exercisesp. 106
8. Advanced Disk Cache Topicsp. 108
Do I Have a Disk I/O Bottleneck?p. 108
Filesystem Tuning Optionsp. 110
Alternative Filesystemsp. 111
The aufs Storage Schemep. 112
The diskd Storage Schemep. 115
The coss Storage Schemep. 119
The null Storage Schemep. 122
Which Is Best for Me?p. 122
Exercisesp. 123
9. Interception Cachingp. 124
How It Worksp. 124
Why (Not) Intercept?p. 127
The Network Devicep. 130
Operating System Tweaksp. 141
Configure Squidp. 146
Debugging Problemsp. 148
Exercisesp. 151
10. Talking to Other Squidsp. 152
Some Terminologyp. 152
Why (Not) Use a Hierarchy?p. 153
Telling Squid About Your Neighborsp. 155
Restricting Requests to Neighborsp. 159
The Network Measurement Databasep. 162
Internet Cache Protocolp. 164
Cache Digestsp. 172
Hypertext Caching Protocolp. 174
Cache Array Routing Protocolp. 176
Putting It All Togetherp. 178
How Do I ...p. 182
Exercisesp. 183
11. Redirectorsp. 185
The Redirector Interfacep. 186
Some Sample Redirectorsp. 187
The Redirector Poolp. 189
Configuring Squidp. 190
Popular Redirectorsp. 192
Exercisesp. 193
12. Authentication Helpersp. 194
Configuring Squidp. 195
HTTP Basic Authenticationp. 195
HTTP Digest Authenticationp. 201
Microsoft NTLM Authenticationp. 204
External ACLsp. 207
Exercisesp. 210
13. Log Filesp. 211
cache.logp. 212
access.logp. 215
store.logp. 227
referer.logp. 231
useragent.logp. 232
swap.statep. 233
Rotating the Log Filesp. 235
Privacy and Securityp. 236
Exercisesp. 236
14. Monitoring Squidp. 237
cache.log Warningsp. 237
The Cache Managerp. 239
Using SNMPp. 290
Exercisesp. 301
15. Server Accelerator Modep. 302
Overviewp. 303
Configuring Squidp. 304
Gee, That Was Confusing!p. 308
Access Controlsp. 310
Content Negotiationp. 311
Gotchasp. 312
Exercisesp. 314
16. Debugging and Troubleshootingp. 315
Some Common Problemsp. 315
Debugging via cache.logp. 319
Core Dumps, Assertions, and Stack Tracesp. 323
Replicating Problemsp. 326
Reporting a Bugp. 329
Exercisesp. 329
A. Config File Referencep. 331
B. The Memory Cachep. 399
C. Delay Poolsp. 401
D. Filesystem Performance Benchmarksp. 407
E. Squid on Windowsp. 418
F. Configuring Squid Clientsp. 421
Indexp. 433