< Day Day Up >
•
Table of Contents
•
Index
•
Reviews
•
Reader Reviews
•
Errata
•
Academic
Squid: The Definitive Guide
By
Duane Wessels
Publisher
: O'Reilly
Pub Date
: January 2004
ISBN
: 0-596-00162-2
Pages
: 496
Copyright
Dedication
Preface
About This Book
Recommended Reading
Conventions Used in This Book
Comments and Questions
Acknowledgments
Chapter 1. Introduction
Section 1.1. Web Caching
Section 1.2. A Brief History of Squid
Section 1.3. Hardware and Operating System Requirements
Section 1.4. Squid Is Open Source
Section 1.5. Squid's Home on the Web
Section 1.6. Getting Help
Section 1.7. Getting Started with Squid
Section 1.8. Exercises
Chapter 2. Getting Squid
Section 2.1. Versions and Releases
Section 2.2. Use the Source, Luke
Section 2.3. Precompiled Binaries
Section 2.4. Anonymous CVS
Section 2.5. devel.squid-cache.org
Section 2.6. Exercises
Chapter 3. Compiling and Installing
Section 3.1. Before You Start
Section 3.2. Unpacking the Source
Section 3.3. Pretuning Your Kernel
Section 3.4. The configure Script
Section 3.5. make
Section 3.6. make Install
Section 3.7. Applying a Patch
Section 3.8. Running configure Later
Section 3.9. Exercises
Chapter 4. Configuration Guide for the Eager
Section 4.1. The squid.conf Syntax
Section 4.2. User IDs
Section 4.3. Port Numbers
Section 4.4. Log File Pathnames
Section 4.5. Access Controls
Section 4.6. Visible Hostname
Section 4.7. Administrative Contact Information
Section 4.8. Next Steps
Section 4.9. Exercises
Chapter 5. Running Squid
Section 5.1. Squid Command-Line Options
Section 5.2. Check Your Configuration File for Errors
Section 5.3. Initializing Cache Directories
Section 5.4. Testing Squid in a Terminal Window
Section 5.5. Running Squid as a Daemon Process
Section 5.6. Boot Scripts
Section 5.7. A chroot Environment
Section 5.8. Stopping Squid
Section 5.9. Reconfiguring a Running Squid Process
Section 5.10. Rotating the Log Files
Section 5.11. Exercises
Chapter 6. All About Access Controls
Section 6.1. Access Control Elements
Section 6.2. Access Control Rules
Section 6.3. Common Scenarios
Section 6.4. Testing Access Controls
Section 6.5. Exercises
Chapter 7. Disk Cache Basics
Section 7.1. The cache_dir Directive
Section 7.2. Disk Space Watermarks
Section 7.3. Object Size Limits
Section 7.4. Allocating Objects to Cache Directories
Section 7.5. Replacement Policies
Section 7.6. Removing Cached Objects
Section 7.7. refresh_pattern
Section 7.8. Exercises
Chapter 8. Advanced Disk Cache Topics
Section 8.1. Do I Have a Disk I/O Bottleneck?
Section 8.2. Filesystem Tuning Options
Section 8.3. Alternative Filesystems
Section 8.4. The aufs Storage Scheme
Section 8.5. The diskd Storage Scheme
Section 8.6. The coss Storage Scheme
Section 8.7. The null Storage Scheme
Section 8.8. Which Is Best for Me?
Section 8.9. Exercises
Chapter 9. Interception Caching
Section 9.1. How It Works
Section 9.2. Why (Not) Intercept?
Section 9.3. The Network Device
Section 9.4. Operating System Tweaks
Section 9.5. Configure Squid
Section 9.6. Debugging Problems
Section 9.7. Exercises
Chapter 10. Talking to Other Squids
Section 10.1. Some Terminology
Section 10.2. Why (Not) Use a Hierarchy?
Section 10.3. Telling Squid About Your Neighbors
Section 10.4. Restricting Requests to Neighbors
Section 10.5. The Network Measurement Database
Section 10.6. Internet Cache Protocol
Section 10.7. Cache Digests
Section 10.8. Hypertext Caching Protocol
Section 10.9. Cache Array Routing Protocol
Section 10.10. Putting It All Together
Section 10.11. How Do I ...
Section 10.12. Exercises
Chapter 11. Redirectors
Section 11.1. The Redirector Interface
Section 11.2. Some Sample Redirectors
Section 11.3. The Redirector Pool
Section 11.4. Configuring Squid
Section 11.5. Popular Redirectors
Section 11.6. Exercises
Chapter 12. Authentication Helpers
Section 12.1. Configuring Squid
Section 12.2. HTTP Basic Authentication
Section 12.3. HTTP Digest Authentication
Section 12.4. Microsoft NTLM Authentication
Section 12.5. External ACLs
Section 12.6. Exercises
Chapter 13. Log Files
Section 13.1. cache.log
Section 13.2. access.log
Section 13.3. store.log
Section 13.4. referer.log
Section 13.5. useragent.log
Section 13.6. swap.state
Section 13.7. Rotating the Log Files
Section 13.8. Privacy and Security
Section 13.9. Exercises
Chapter 14. Monitoring Squid
Section 14.1. cache.log Warnings
Section 14.2. The Cache Manager
Section 14.3. Using SNMP
Section 14.4. Exercises
Chapter 15. Server Accelerator Mode
Section 15.1. Overview
Section 15.2. Configuring Squid
Section 15.3. Gee, That Was Confusing!
Section 15.4. Access Controls
Section 15.5. Content Negotiation
Section 15.6. Gotchas
Section 15.7. Exercises
Chapter 16. Debugging and Troubleshooting
Section 16.1. Some Common Problems
Section 16.2. Debugging via cache.log
Section 16.3. Core Dumps, Assertions, and Stack Traces
Section 16.4. Replicating Problems
Section 16.5. Reporting a Bug
Section 16.6. Exercises
Appendix A. Config File Reference
http_port
https_port
ssl_unclean_shutdown
icp_port
htcp_port
mcast_groups
udp_incoming_address
udp_outgoing_address
cache_peer
cache_peer_domain
neighbor_type_domain
icp_query_timeout
maximum_icp_query_timeout
mcast_icp_query_timeout
dead_peer_timeout
hierarchy_stoplist
no_cache
cache_access_log
cache_log
cache_store_log
cache_swap_log
emulate_httpd_log
log_ip_on_direct
cache_dir
cache_mem
cache_swap_low
cache_swap_high
maximum_object_size
minimum_object_size
maximum_object_size_in_memory
cache_replacement_policy
memory_replacement_policy
store_dir_select_algorithm
mime_table
ipcache_size
ipcache_low
ipcache_high
fqdncache_size
log_mime_hdrs
useragent_log
referer_log
pid_filename
debug_options
log_fqdn
client_netmask
ftp_user
ftp_list_width
ftp_passive
ftp_sanitycheck
cache_dns_program
dns_children
dns_retransmit_interval
dns_timeout
dns_defnames
dns_nameservers
hosts_file
diskd_program
unlinkd_program
pinger_program
redirect_program
redirect_children
redirect_rewrites_host_header
redirector_access
redirector_bypass
auth_param
authenticate_ttl
authenticate_cache_garbage_interval
authenticate_ip_ttl
external_acl_type
wais_relay_host
wais_relay_port
request_header_max_size
request_body_max_size
refresh_pattern
quick_abort_min
quick_abort_max
quick_abort_pct
negative_ttl
positive_dns_ttl
negative_dns_ttl
range_offset_limit
connect_timeout
peer_connect_timeout
read_timeout
request_timeout
persistent_request_timeout
client_lifetime
half_closed_clients
pconn_timeout
ident_timeout
shutdown_lifetime
acl
http_access
http_reply_access
icp_access
miss_access
cache_peer_access
ident_lookup_access
tcp_outgoing_tos
tcp_outgoing_address
reply_body_max_size
cache_mgr
cache_effective_user
cache_effective_group
visible_hostname
unique_hostname
hostname_aliases
announce_period
announce_host
announce_file
announce_port
httpd_accel_host
httpd_accel_port
httpd_accel_single_host
httpd_accel_with_proxy
httpd_accel_uses_host_header
dns_testnames
logfile_rotate
append_domain
tcp_recv_bufsize
err_html_text
deny_info
memory_pools
memory_pools_limit
forwarded_for
log_icp_queries
icp_hit_stale
minimum_direct_hops
minimum_direct_rtt
cachemgr_passwd
store_avg_object_size
store_objects_per_bucket
client_db
netdb_low
netdb_high
netdb_ping_period
query_icmp
test_reachability
buffered_logs
reload_into_ims
always_direct
never_direct
header_access
header_replace
icon_directory
error_directory
maximum_single_addr_tries
snmp_port
snmp_access
snmp_incoming_address
snmp_outgoing_address
as_whois_server
wccp_router
wccp_version
wccp_incoming_address
wccp_outgoing_address
delay_pools
delay_class
delay_access
delay_parameters
delay_initial_bucket_level
incoming_icp_average
incoming_http_average
incoming_dns_average
min_icp_poll_cnt
min_dns_poll_cnt
min_http_poll_cnt
max_open_disk_fds
offline_mode
uri_whitespace
broken_posts
mcast_miss_addr
mcast_miss_ttl
mcast_miss_port
mcast_miss_encode_key
nonhierarchical_direct
prefer_direct
strip_query_terms
coredump_dir
ignore_unknown_nameservers
digest_generation
digest_bits_per_entry
digest_rebuild_period
digest_rewrite_period
digest_swapout_chunk_size
digest_rebuild_chunk_percentage
chroot
client_persistent_connections
server_persistent_connections
pipeline_prefetch
extension_methods
request_entities
high_response_time_warning
high_page_fault_warning
high_memory_warning
ie_refresh
vary_ignore_expire
sleep_after_fork
Appendix B. The Memory Cache
Appendix C. Delay Pools
Section C.1. Overview
Section C.2. Configuring Squid
Section C.3. Examples
Section C.4. Issues
Section C.5. Monitoring Delay Pools
Appendix D. Filesystem Performance Benchmarks
Section D.1. The Benchmark Environment
Section D.2. General Comments
Section D.3. Linux
Section D.4. FreeBSD
Section D.5. OpenBSD
Section D.6. NetBSD
Section D.7. Solaris
Section D.8. Number of Disk Spindles
Appendix E. Squid on Windows
Section E.1. Cygwin
Section E.2. SquidNT
Appendix F. Configuring Squid Clients
Section F.1. Manually
Section F.2. Proxy Auto-Configuration
Section F.3. WPAD
Section F.4. Summary
Colophon
Index
< Day Day Up >