Squid 3.0 manual
Squid 3.0 简易手册 ./configure --prefix=/usr/local/squid make...
扫描右侧二维码阅读全文
05
2008/06

Squid 3.0 manual

Squid 3.0 简易手册

./configure --prefix=/usr/local/squid make make install

配置文件位于/usr/local/squid/etc/squid.conf

squid的基本概念
neighbor=邻居.所有外部squid节点都是邻居
sibling=兄弟节点,兄弟节点与本squid节点处于同一层.相互使用ICP_PORT进行通讯
parent=父节点,父节点是指所有被本节点前去获取资源的节点,可以是通过ICP_PORT进行通讯的其他squid,也可以是在加速模式下的最终节点originserver
accel=加速模式,就是我们常说的反向代理模式

常用配置选项

visible_hostname
定义squid的服务器名
example:
# visible_hostname test.test.com
# 此项对于squid来说为必须项,在默认情况下,相同域名的进行代理无需用户登录.而对不同域名的进行代理时需要制定用户

http_port
定义服务器对外端口
example:
# http_port 61.142.253.149:80 transparent
# 设定squid对外服务器IP和端口,截取向外的请求
# http_port 80 accel vhost vport
# 设定squid为加速模式,一定需要加上vhost,否则主机名将无法传递到后端的服务器

http_access
定义http存取规则
example:
# Deny requests to unknown ports
# http_access allow Safe_ports
# http_access deny !Safe_ports

acl
定义存取控制
example:
# acl aclname src ip-address/netmask ... (clients IP address)
# acl aclname src addr1-addr2/netmask ... (range of addresses)
# 使用IP地址定义源地址和客户端

# acl aclname srcdomain .foo.com ... # reverse lookup, client IP
# acl aclname dstdomain .foo.com ... # Destination server from URL
# acl aclname srcdom_regex [-i] xxx ... # regex matching client name
# acl aclname dstdom_regex [-i] xxx ... # regex matching server
# 使用域名定义源地址和客户端.也可以使用正则来匹配域名

# acl aclname url_regex [-i] ^http:// ... # regex matching on whole URL
# acl aclname urlpath_regex [-i] \.gif$ ... # regex matching on URL path
# acl aclname port 80 70 21 ...
# acl aclname port 0-1024 ... # ranges allowed
# acl aclname myport 3128 ... # (local socket TCP port)
# acl aclname myportname 3128 ... # http(s)_port name
# acl aclname proto HTTP FTP ...
# acl aclname method GET POST ...
# acl aclname browser [-i] regexp ...
# 常用的一些acl key

# acl Safe_ports port 80 # http
# acl Safe_ports port 21 # ftp
# acl Safe_ports port 443 # https
# acl也可以进行叠加式的定义

always_direct
直接穿越,可以定义某种协议将透过squid直接对后端服务器进行操作
example:
# acl FTP proto FTP
# always_direct allow FTP
# 直接FTP协议穿透

access_log
记录squid访问日志
example:
# access_log /usr/local/fortel/squid/var/logs/access.log squid

cache_log
记录squid行为日志
example:
# cache_log /usr/local/fortel/squid/var/logs/cache.log

最简化的squid配置如下

visible_hostname test.test.com http_port 80 transparent acl all src all http_access allow all cache_log /var/log/squid/cache.log

简化的加速模式配置如下
使用域名的话.需要确认DNS服务器的正确或者/etc/hosts文件的正确

visible_hostname test.test.com http_port 80 accel vhost vport cache_peer www.test1.com parent 80 0 no-query originserver name=test1 cache_peer_domain test1 www.test1.com acl all src 0.0.0.0/0.0.0.0 http_access allow all cache_log /var/log/squid/cache.log

关于SQUID透明模式的问题
http://www.nabble.com/Transparent-Proxy-not-working-in-3.0-STable1-td15482695.html

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

3 comments

  1. Johnny Woo

    3.0能够真正支持HTTP/1.1
    2.X对1.1的支持有限
    最简单的就是通过gzip压缩的内容
    2.x无法支持缓冲.每次都会导致MISS
    而3.0可以正常缓冲gzip压缩后的数据.

  2. Johnny Woo

    版本比较高.哈哈哈
    提供了大约20多个新的参数对服务器进行控制.

  3. Michael Field

    3.0较2.6优势何在?

Leave a Comment