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

Squid 学习笔记

2009-04-17 13:15 155 查看
一、squid配置文件目录

/etc/squid
主配置文件:squid.conf
启动服务:service squid start|restart|status|stop

二、参数设置

http_port port 设置监听端口

cache_mem 设置用服务器的多少物理内存作为高速缓存

cache_dir /etc/spool/squid 2000 16 256 设置最大缓冲控制为2000M,可在缓存目录中创建16个子目录,可在缓存目录中
创建最大为256个2级子目录

acl 列表名 列表类型 [-i] 列表值

列表类型有:
src 客户机IP
dst 服务器IP
arp 客户机MAC
srcdomain 客户机所有域
dstdomain 服务器所有域
rul_regex URL规划表达式匹配
rulpath_regex:RUL-path 略去协议和主机名的URL规划表达式匹配
proxy_auth 通过外部程序进行用户认证
maxconn 单一IP最大连接数
time 时间段,语法为[星期][时间段]
星期:M(1)/T(2)/W(3)/H(4)/F(5)/A(6)/S(7)
时间段:8:00~20:00
port 指定访问的端口
proto 指定访问协议
method 指定请求方法,如GET/POST等

[-i]表示忽略大小写
列表值:不同类型,值也不同

设置完访问控制表通过“http_access allow|deny”列表名 来控制

例如:
acl haha src 192.168.1.0/255.255.255.0
http_access deny haha 表示拒绝所有192.168.1.X的IP访问

----------

cache_effective_user squid 设置使用缓存的有效用户
cache_effective_group squid 设置使用缓存的有效组
dns_nameserver 192.168.1.1 设置dns服务器地址
cache_access_log /var/log/squid/access.log 访问日志文件
cache_log /var/log/squid/cache.log 缓存日志文件
cache_store_log /var/log/squid/store.log 网页缓存日志文件
visible_hostname 192.168.1.10 设置运行squid主机名称
cache_mgr root 设置管理员电子邮箱地址

三、初始化squid
为能让squid在硬盘中缓存客户机访问外部网络中的数据,在初次启动squid前,应该建立硬盘缓冲区的缓存目录结构
在终端操作:
squid -z 建立硬盘缓冲目录
把squid返回英文错误改为中文:
mv /etc/squid/error /etc/squid/error.bak 为目录重命名
ln -s /usr/share/squid/error/Simlify_chinese /etc/squid/error 创建链接

四、透明代理
所谓的透明代理就是指内网客户端不需要进行特殊设置即可访问外网中的数据,如迅雷等,不需要做任何设置。
若需实现透明代理只需在suqid.conf中添加如下配置:
---------
httpd_accel_host virtual
httpd_accel_port 80 请求加速的端口为80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
---------
然后配合NAT就能实现透明代理了(iptables或者ipchains)
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: