您的位置:首页 > 运维架构 > 反向代理

Squid中文权威指南

2016-11-17 18:16 260 查看
http://zyan.cc/book/squid/

译者序:

本人在工作中维护着数台Squid服务器,多次参阅Duane Wessels(他也是Squid的创始人)的这本书,原书名是"Squid: The Definitive Guide",由O'Reilly出版。我在业余时间把它翻译成中文,希望对中文Squid用户有所帮助。对普通的单位上网用户,Squid可充当代理服务器;而对Sina,NetEase这样的大型站点,Squid又充当WEB加速器。这两个角色它都扮演得异常优秀。窗外繁星点点,开源的世界亦如这星空般美丽,而Squid是其中耀眼的一颗星。

对本译版有任何问题,请跟我联系,我的Email是:yonghua_peng@yahoo.com.cn

彭勇华
目 录

第1章 介绍
1.1 Web缓存
1.2 Squid的简明历史
1.3 硬件和操作系统要求
1.4 squid是开源的
1.5 Squid的Web主页
1.6 获取帮助
1.6.1 FAQ
1.6.2 邮件列表
1.6.3 职业支持

1.7 启动Squid

第2章 获取Squid
2.1 版本和发布
2.2 使用源代码
2.3 预编译的二进制文件
2.4 匿名CVS
2.5 devel.squid-cache.org

第3章 编译和安装
3.1 安装之前
3.2 解开源代码包
3.3 调整内核
3.3.1 文件描述符
3.3.2 Mbuf Clusters
3.3.3 临时端口范围

3.4 Configure脚本
3.4.1 configure选项
3.4.2 运行configure

3.5 编译
3.6 安装
3.7 打补丁
3.8 重运行configure

第4章 快速配置向导
4.1 squid.conf语法
4.2 User ID
4.3 端口号
4.4 日志文件路径
4.5 访问控制
4.6 可见主机名
4.7 管理联系信息
4.8 下一步

第5章 运行Squid
5.1 squid命令行选项
5.2 对配置文件查错
5.3 初始化cache目录
5.4 在终端窗口里测试squid
5.5 将squid作为服务进程运行
5.5.1 squid_start脚本

5.6 启动脚本
5.6.1 /etc/rc.local
5.6.2 init.d和rc.d
5.6.3 /etc/inittab

5.7 chroot环境
5.8 停止squid
5.9 重配置运行中的squid进程
5.10 滚动日志文件

6.访问控制
6.1 访问控制元素
6.1.1 一些基本的ACL类型
6.1.2 ACL类型
6.1.3 外部ACL
6.1.4 处理长ACL列表
6.1.5 Squid如何匹配访问控制元素

6.2 访问控制规则
6.2.1 访问规则语法
6.2.2 Squid如何匹配访问规则
6.2.3 访问列表风格
6.2.4 延时检查
6.2.5 减缓和加速规则检查

6.3 常见用法
6.3.1 仅仅允许本地客户
6.3.2 阻止恶意客户
6.3.3 内容过滤
6.3.4 在工作时间的受限使用
6.3.5 阻止squid与非HTTP服务器会话
6.3.6 授予某些用户特殊的访问
6.3.7 阻止邻近cache的滥用
6.3.8 使用IP地址拒绝请求
6.3.9 http_reply_access示例
6.3.10 阻止对本地站点的cache命中

6.4 测试访问控制

7.磁盘缓存基础
7.1 cache_dir指令
7.1.1 参数:Scheme
7.1.2 参数:Directory
7.1.3 参数:Size
7.1.4 参数:L1和L2
7.1.5 参数:Options

7.2 磁盘空间基准
7.3 对象大小限制
7.4 分配对象到缓存目录
7.5 置换策略
7.6 删除缓存对象
7.6.1 删除个别对象
7.6.2 删除一组对象
7.6.3 删除所有对象

7.7 refresh_pattern

第8章 高级磁盘缓存主题
8.1 是否存在磁盘I/O瓶颈?
8.2 文件系统调整选项
8.3 可选择的文件系统
8.4 aufs存储机制
8.4.1 aufs如何工作
8.4.2 aufs发行
8.4.3 监视aufs操作

8.5 diskd存储机制
8.5.1 diskd如何工作
8.5.2 编译和配置diskd
8.5.3 监视diskd

8.6 coss存储机制
8.6.1 coss如何工作
8.6.2 编译和配置coss
8.6.3 coss发行

8.7 null存储机制
8.8 哪种最适合我?

第9章 Cache拦截
9.1它如何工作?
9.2为何要(或不要)拦截?
9.3 网络设备
9.3.1 内置Squid
9.3.2 四层交换
9.3.3 Cisco策略路由
9.3.4 Web Cache Coordination协议

9.4 操作系统配置
9.4.1 Linux
9.4.2 FreeBSD
9.4.3 OpenBSD
9.4.4 在NetBSD和其他系统上的IPFilter

9.5 配置Squid
9.5.1 配置WCCPv1

9.6 调试问题

第10章 与其他Squid会话
10.1 某些术语
10.2 为何要(或不要)使用堆叠?
10.3 配置Squid与邻居通信
10.3.1 cache_peer选项
10.3.2 邻居状态
10.3.3 改变关系

10.4 对邻居的请求限制
10.4.1 cache_peer_access
10.4.2 cache_peer_domain
10.4.3 never_direct
10.4.4 always_direct
10.4.5 hierarchy_stoplist
10.4.6 nonhierarchical_direct
10.4.7 prefer_direct

10.5 网络度量数据库(netdb)
10.6 Internet Cache协议(ICP)
10.6.1 成为ICP服务器
10.6.2 成为ICP客户
10.6.3 广播ICP

10.7 Cache摘要(Cache Digest)
10.7.1 配置squid的cache摘要

10.8 超文本cache协议(HTCP)
10.8.1 配置Squid使用HTCP

10.9 Cache数组路由协议(CARP)
10.9.1 配置Squid使用CARP

10.10 归纳所有
10.10.1 步骤1:直接决定选项
10.10.2 步骤2:邻居选择协议
10.10.3 步骤2a:ICP/HTCP应答处理
10.10.4 步骤3:从父cache选择
10.10.5 重试

10.11 该怎么做?
10.11.1 通过另外的代理发送所有请求?
10.11.2 通过另外的代理发送所有请求,除非它down了?
10.11.3 确认squid对某些请求,不使用邻居cache吗?
10.11.4 通过父cache发送某些请求来绕过本地过滤器?

第11章 重定向器
11.1 重定向器接口
11.1.1 处理包含空格的URI
11.1.2 产生HTTP重定向消息

11.2 重定向器示例
11.3 重定向器池
11.4 配置Squid
11.4.1 redirect_program
11.4.2 redirect_children
11.4.3 redirect_rewrites_host_header
11.4.4 redirector_access
11.4.5 redirector_bypass

11.5 流行的重定向器
11.5.1 Squirm
11.5.2 Jesred
11.5.3 squidGuard
11.5.4 AdZapper

第12章 验证辅助器
12.1 配置Squid
12.2 HTTP基本验证
12.2.1 NCSA
12.2.2 LDAP
12.2.3 MSNT
12.2.4 Multi-domain-NTLM
12.2.5 PAM
12.2.6 SASL
12.2.7 SMB
12.2.8 YP
12.2.9 getpwnam
12.2.10 winbind
12.2.11 基本验证API

12.3 HTTP摘要验证
12.3.1 password
12.3.2 摘要验证API

12.4 Microsoft NTLM验证
12.4.1 SMB
12.4.2 winbind
12.4.3 NTLM验证API

12.5 外部ACL
12.5.1 ip_user
12.5.2 ldap_group
12.5.3 unix_group
12.5.4 wbinfo_group
12.5.5 winbind_group
12.5.6 编写自己的外部ACL辅助器

第13章 日志文件
13.1 cache.log
13.1.1 debug级别
13.1.2 转发cache.log消息到系统日志
13.1.3 dump cache.log消息到终端

13.2 access.log
13.2.1 access.log结果编码
13.2.2 HTTP响应状态码
13.2.3 access.log对端编码
13.2.4 影响access.log的配置指令
13.2.5 access.log分析工具

13.3 store.log
13.3.1 转换文件号到路径名

13.4 referer.log
13.5 useragent.log
13.6 swap.state
13.7 轮转日志
13.8 隐私和安全

第14章 监视Squid
14.1 cache.log告警
14.2 Cache管理器
14.3 使用SNMP

第15章 服务加速模式
15.1 概述
15.2 配置Squid
15.2.1 http_port
15.2.2 https_port
15.2.3 httpd_accel_host
15.2.4 httpd_accel_port
15.2.5 httpd_accel_uses_host_header
15.2.6 httpd_accel_single_host
15.2.7 httpd_accel_with_proxy

15.3 令人疑惑之处
15.3.1 一个主机,一个主机名
15.3.2 一个主机,多个主机名
15.3.3 多个主机,一个主机名
15.3.4 多个主机,多个主机名

15.4 访问控制
15.5 内容协商
15.6 补充
15.6.1 日志
15.6.2 忽略Reload
15.6.3 不可cache的内容
15.6.4 错误
15.6.5 刷新目标
15.6.6 邻居

第16章 调试和故障处理
16.1 一些通用问题
16.1.1 "Failed to make swap directory"
16.1.2 "Address already in use"
16.1.3 "Could not determine fully qualified hostname"
16.1.4 "DNS name lookup tests failed"
16.1.5 "Illegal character in hostname"
16.1.6 "Running out of filedescriptors"
16.1.7 "icmpRecv: Connection refused"
16.1.8 在运行一段时间后,Squid变慢了
16.1.9 调试访问控制

16.2 通过cache.log进行调试
16.3 Coredump,断点,和堆栈跟踪
16.3.1 不能找到core文件?
16.4 重现问题
16.5 报告Bug

译后序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  squid