当前位置:文档之家› 代理服务器的作用与工作流程

代理服务器的作用与工作流程

访问列表可以由多条规则组成;
如果没有任何规则与访问请求匹配,默认动作将与列表 中最后一条规则对应;
一个访问条目中的所有元素将用逻辑与运算连接,如下 所示: http_access Action 声明1 AND 声明2 AND 声明 OR http_access Action 声明3
多个http_access声明间用或运算连接,但每个访问条目的 元素间用与运算连接;
Squid能够缓存任何数据吗?不是的。象缓存信用卡 帐号、可以远方执行的scripts、经常变换的主页等 是不合适的也是不安全的。
工作流程
配置SQUID
安装包 /etc/squid/squid.conf
squid 配置文件
http_port 192.168.0.11:3128 cache_mem 300MB cache_dir ufs /var/spool/squid 1000 16 255 cache_effective_user squid cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log visible_hostname cache_mgr
----------------------------------#cache_peer_domain cache-host domain [domain ...] cache_peer_domain web1 cache_peer_domain web2 cache_peer_domain web3 ------------------------cache_peer_access web1 allow ok cache_peer_access web2 allow ok cache_peer_access web3 allow ok # cache_peer_access cache-host allow|deny [!]aclname ...
cache_peer 127.0.0.1 parent 80 0 no-query originserver
一台代理&多WEB
# cache_peer hostname type http-port icp-port [options]
cache_peer 192.168.1.2 parent 81 0 originserver weight=1 name=web1 cache_peer 192.168.1.3 parent 82 0 originserver weight=1 name=web2 cache_peer 192.168.1.4 parent 83 0 originserver weight=1 name=web3
http_access deny baduser http_access deny normal media_url http_access deny nomal !netime http_access allow advance http_access allow normal http_access allow all
WEB 自缓冲加速
数据走向: 访问者=>192.168.1.1:80=>127.0.0.1:80 http_port 80 vport vhost
httpd_accel_host 127.0.0.1 httpd_accel_port 80 测试
把http服务器给停了,通过SQUID缓存可以看到页面
方案一
192.168.0.1-10为高级用户,上网没有限制 192.168.0.11-192.168.0.200为普通用户 普通用户要求上班时间9:00-18:00可以上
网,其余时间不能上网,普通用户不能下 载exe mp3 wma rm 等结尾的文件。 普通用户要求通过身份验证,高级不用验 证。
表中的规则总是遵循由上而下的顺序。
禁止缓存
acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi
acl denyssl urlpath_regex -i ^https:\\ cache deny QUERY cache deny denyssl
个值由逻辑或运算连接,换句话说,任一ACL元素的 值被匹配,则这个ACL元素即被匹配; 并不是所有的ACL元素都能使用访问列表中的全部类 型; 不同的ACL元素写在不同行中,Squid将这些元素组合 在一个列表中。
ARL
http_access 语法
http_access allow/deny [!]aclname
ARL规则
根据访问控制列表允许或禁止某一类用户 访问。如果某个访问没有相符合的项目, 则默认为应用最后一条项目的“非”。比 如最后一条为允许,则默认就是禁止。通 常应该把最后的条目设为“deny all”或 “allow all”来避免安全性隐患。
ARL规则
这些规则按照它们的排列顺序进行匹配检测,一旦检测 到匹配的规则,匹配检测就立即结束;
auth_param basic children 5 指定认证程序的进程数
auth_param basic realm My Proxy Caching Domain 浏览器显示输入用户/密码对话框时的领域内容
auth_param basic credentialsttl 2 hours 基本的认证有效时间
代理服务器
本章目标
代理服务器的作用 代理服务器的工作流程 代理服务器的类型 配置代理服务器
概述
代理服务器可以代表其它计算机传送数据 包或信息.
作用
共享网络,不受公有IP的限制 加快访速度 防止内部主机受到攻击 限制用户访问,完善网络管理
ACL 访问控制列表 ARL 访问权限列表
高级控制
acl advance arp 00:01:02:1f:2c:3e acl sina dstdomain acl qq dstdomain acl conn5 maxconn 5
验证
控制所有登录并检查访问用户的合法性.让合法用户以 合法的权限访问网络资源
客户端要正确配置DNS,网关
SQUID反向代理
Squid反向代理单个后台WEB服务器
WEB服务器和反向代理服务器是两台单独的机 器(一般的反向代理应该有两块网卡分别连接 了内外部网络)
如果WEB服务器和反向代理服务器是同一台机 器
Squid反向代理多个后台WEB服务器
一台WEB&一台代理
acl advance 192.168.0.2-192.168.0.10/32 acl normal src 192.168.0.11-192.168.0.200/32 acl baduser src 192.168.0.100/32 acl media_url urlpath_regex -i \.mp3$ \.rm$ \.wma$ \.exe$ acl nettime time MTWHF 9:00-12:00 13:30-18:00 acl all src 0.0.0.0/0
代理原理 代理配置
总结
配置代理监听80
httpd_port 80 vport vhost
配置WEB监听
httpd_accel_host ip WEB的IP httpd_accel_port 80 加速服务的端口,如果后台
apache为80端口,这里就为80端口
cache_peer webip parent 80 0 no-query originserver
什么时候使用代理
SQUID
Squid是Linux下一个缓存Internet数据的代理服务器 软件,其接收用户的下载申请,并自动处理所下载的 数据。
Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS协议, 暂不能代理POP3、NNTP等协议。
Squid可以工作在很多操作系统中,如AIX、Unix、 FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、 SCO、Solaris、OS/2等。
acl normal proxy_auth REQUIRED http_access normal auth_user 普通用户需要通过认证才能访问Internet
建立帐号文件
htpasswd -C /var/lib/squid/ncsa_auth pg 测试验证
squid restart 客户端上配置浏览器 访问任意网站,弹出验证框
ACL
语:
acl aclname acltype string
acltype
src/dst srcdomain/dstdomain time url_regex urlpath_regex port proto proxy_auth maxconn
ACL规则
acltype可以是任一个在ACL中定义的名称; 任何两个ACL条目不能用相同的名字; 每个ACL由列表值组成,当进行匹配检测的时候,多
透明代理
squid主配文件:/etc/squid/squid.conf
http_port 3128 transparent //启用透明模式
启用ipforward vim /etc/sysctl.conf
配置防火墙 iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp - -dport=80 -j REDIECT - -to-ports 3128 service iptables save
外部认证程序 NCSA 2.5版本开始,NCSA认证包含在了basic中, 而非以前单独的认证模块 PAM LDAP SMB SASL
配置验证squid.conf
auth_param basic program /usr/lib/squid/ncsa_auth /var/squid/etc/password 该选项指出了认证方式(basic)、认证程序(ncsa_auth)和 密码文件
相关主题