squid配置 反向代理
2011-09-17 20:27
281 查看
Squid:
功能:save on their internet web traffic, improve performance ,deliver faster browsting to therir end-clients and provide static,dynamic and siredming content to millions of internet usersworldwide
特点:offers a rich access control
代理:
正向代理:1、普通代理服务
即标准的、传统的代理服务 ;需要客户机在浏览器中指定代理服务器的地址、端口
2、透明代理服务
适用于企业的网关主机(共享接入Internet)中; 客户机不需要指定代理服务器地址、端口等信息;需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理
反向代理: 1、反向代理服务:
缓存加速对象:FTP, HTTP ,gopher Not dns
协议:ICP(Internet Cache Protocol) 端口3130/UDP
反向代理服务 为Internet用户访问企业Web站点提供缓存加速 ;对用户的Web访问进行过滤控制
反向代理软件:Squid,Varnish,ATS,Nginx
官网:www.squid-cache.org
有个squid命令的介绍:
squid –k parse 语法测试
squid –zX 磁盘驱动器的速度
squid –z 如果新增加了cache_dir是需要用此命令,该命令会在其下创建子目录
squid –sD 服务的启动 也可以用service squid restart重启
squid –k shutdown 关闭服务
squid –k routate 回滚日志
普通代理服务典型应用环境:
配置Squid :
安装: yum install squid –y
有关于主配置文件的内容常用选项的介绍:
http_port 3128 这个是squid的监听的端口号,默认ip地址0.0.0.0也可以改成监听某个或者某段IP:例:http_port 192.168.0.0:3128
ACL访问控制介绍:
格式: acl 名字 类型 内容
httpd_access all或deny 名字 这里的名字和ACL的名字是一致的方能生效
在acl中类型有这几种:src ,dst, port ,srcdomain, dstdomain, time, maxcom, usrl_regex,urlpath_regex
在acl里内容就自己定义:
有关ACL的实例:
访问控制的匹配顺序:没有设置任何规则时,则拒绝所有客户端访问请求;有规则但找不到是将采用最后一天规程相反的权限,比如定义的是allow,那对客户端的请求就是deny
透明代理: 要用透明代理前提条件是:客户机的Web访问数据要能经过防火墙;
代理服务构建在网关(防火墙)主机中
工作机制就是squid和iptables结合其他,通过iptables将源iP访问的请求指定到squid的端口上,不需要让客户端在IE中配置代理服务和端口省去了麻烦
实现步骤:
反向代理配置:
实现配置:修改squid.conf文件
保存就行了。
配置介绍:
格式:cache_peer WEB服务地址 服务器类型 http端口 icp 端口 其他选项
cache_peer中定义的是如果本地没有资源的话去寻找定义IP中寻找资源
服务器类型:’parent’ ,’sibling’, multicast’
Http(proxy-port); 缓存代理请求监听的端口号
icp-port : 用于查询有关对象的邻居缓存
其他选项:weight=n 定义权重,max-conn=n 最大连接数, originserver 在加速器中使用用于和父服务器联系
反向代理实例:
本来应该在加上个DNS 服务器,由于机器限制虚拟机开不了那么多机器只好讲DNS舍弃,webserver1和webserver2上安装Apache服务,squid1能代理webserver1不能代理webserver2, squid2能代理webserver2不代理webserver1
配置:
准备工作:/etc/hosts文件加入以下内容:
在webserver1、2上安装Apache服务,可以用yum安装,也可以编译安装
分别在webserver1、2做内不一的网页
配置squid服务;在squid1上
#yum install squid –y
编辑/etc/squid/squid.conf文件:
查看日志
在客户端访问就行了,squid或webserver中任意一个断掉都不影响访问
日志查看:
这是代理的配置以及效果图
完成!
功能:save on their internet web traffic, improve performance ,deliver faster browsting to therir end-clients and provide static,dynamic and siredming content to millions of internet usersworldwide
特点:offers a rich access control
代理:
正向代理:1、普通代理服务
即标准的、传统的代理服务 ;需要客户机在浏览器中指定代理服务器的地址、端口
2、透明代理服务
适用于企业的网关主机(共享接入Internet)中; 客户机不需要指定代理服务器地址、端口等信息;需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理
反向代理: 1、反向代理服务:
缓存加速对象:FTP, HTTP ,gopher Not dns
协议:ICP(Internet Cache Protocol) 端口3130/UDP
反向代理服务 为Internet用户访问企业Web站点提供缓存加速 ;对用户的Web访问进行过滤控制
反向代理软件:Squid,Varnish,ATS,Nginx
官网:www.squid-cache.org
有个squid命令的介绍:
squid –k parse 语法测试
squid –zX 磁盘驱动器的速度
squid –z 如果新增加了cache_dir是需要用此命令,该命令会在其下创建子目录
squid –sD 服务的启动 也可以用service squid restart重启
squid –k shutdown 关闭服务
squid –k routate 回滚日志
普通代理服务典型应用环境:
配置Squid :
安装: yum install squid –y
有关于主配置文件的内容常用选项的介绍:
http_port 3128 这个是squid的监听的端口号,默认ip地址0.0.0.0也可以改成监听某个或者某段IP:例:http_port 192.168.0.0:3128
visible_hostname www.a.org 这个If you want to present a special hostname in error messages, etc, define this. Otherwise, the return value of gethostname() will be used. If you have multiple caches in a cluster and get errors about IP-forwarding you must set them to have individual names with this setting. # reply_body_max_size 0 allow all 访问请求允许最大字节是0,这个自己可以视情况更改 access_log /var/log/squid/access.log squid 日志文件位置 maximum_object_size 4096 KB 访问对象最大值,如果超过这个设定值则squid拒绝 cache_mem 64M 缓存内存是64M,这个值一般是内存的三分之一就好 cache_dir ufs /var/spool/squid 100 16 256 缓存目录格式是ufs 其他格式有“disk” ,”aufs”, “ufs”,“100” 是最大是100M, “16”是缓存一级子目录个数,“256”是缓存二级子目录个数 host_access 定义访问控制,一般与acl结合使用 http_access allow localhost 如若初始配置,是只允许localhost访问的,如要能代理其他IP,只要加上个host_access就行了
ACL访问控制介绍:
格式: acl 名字 类型 内容
httpd_access all或deny 名字 这里的名字和ACL的名字是一致的方能生效
在acl中类型有这几种:src ,dst, port ,srcdomain, dstdomain, time, maxcom, usrl_regex,urlpath_regex
在acl里内容就自己定义:
有关ACL的实例:
acl LAN1 src 192.168.0.0/24 acl PC1 SRC 172.16.0.1/32 http_access deny LAN1 PC1
访问控制的匹配顺序:没有设置任何规则时,则拒绝所有客户端访问请求;有规则但找不到是将采用最后一天规程相反的权限,比如定义的是allow,那对客户端的请求就是deny
透明代理: 要用透明代理前提条件是:客户机的Web访问数据要能经过防火墙;
代理服务构建在网关(防火墙)主机中
工作机制就是squid和iptables结合其他,通过iptables将源iP访问的请求指定到squid的端口上,不需要让客户端在IE中配置代理服务和端口省去了麻烦
实现步骤:
修改squid.conf文件: httpd_port 192.168.0.1:3128 transport 添加iptables: iptables -t nat -I PREROUTING -i eth1 -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
区分nat转换,这个不过是将源IP转换成公网IP访问外网,而透明代理是通过代理服务代理访问,另有nat转换命令 iptables –t nat –A POSTROUTING –S 192.168.0.0/24 –j SNAT –to-source 10.0.0.1
反向代理配置:
实现配置:修改squid.conf文件
http_port 192.168.0.1:80 vhost cache_peer 192.168.0.1 parent 80 0 originserver weight=5 max-conn=30
保存就行了。
配置介绍:
格式:cache_peer WEB服务地址 服务器类型 http端口 icp 端口 其他选项
cache_peer中定义的是如果本地没有资源的话去寻找定义IP中寻找资源
服务器类型:’parent’ ,’sibling’, multicast’
Http(proxy-port); 缓存代理请求监听的端口号
icp-port : 用于查询有关对象的邻居缓存
其他选项:weight=n 定义权重,max-conn=n 最大连接数, originserver 在加速器中使用用于和父服务器联系
反向代理实例:
本来应该在加上个DNS 服务器,由于机器限制虚拟机开不了那么多机器只好讲DNS舍弃,webserver1和webserver2上安装Apache服务,squid1能代理webserver1不能代理webserver2, squid2能代理webserver2不代理webserver1
配置:
准备工作:/etc/hosts文件加入以下内容:
172.16.0.100 squid1.a.org squid1 172.16.0.200 squid2.a.org squid2
在webserver1、2上安装Apache服务,可以用yum安装,也可以编译安装
#yum install httpd #service httpd start #chkconfig httpd on
分别在webserver1、2做内不一的网页
配置squid服务;在squid1上
#yum install squid –y
编辑/etc/squid/squid.conf文件:
http_access allow all http_port 80 accel vhost vport icp_port 3130 ##################squid中没有资源找邻居########################### cache_peer squitd1.a.org sibling 80 3130 cache_peer squitd2.a.org sibling 80 3130 ############################################# cache_peer 172.16.0.111 parent 8080 0 originserver max-conn=30 weight=10 cache_peer 172.16.0.134 parent 8080 0 originserver max-conn=20 weight=20 ############################################### cache_log /var/logs/cache.log cache_dir ufs /var/spool/squid 100 16 256 visible_hostname squitd1.a.org
查看日志
[root@server68 squid]# tail /var/log/squid/cache.log 2011/09/06 16:55:16| 0 Objects expired. 2011/09/06 16:55:16| 0 Objects cancelled. 2011/09/06 16:55:16| 0 Duplicate URLs purged. 2011/09/06 16:55:16| 0 Swapfile clashes avoided. 2011/09/06 16:55:16| Took 0.4 seconds ( 0.0 objects/sec). 2011/09/06 16:55:16| Beginning Validation Procedure 2011/09/06 16:55:16| Completed Validation Procedure 2011/09/06 16:55:16| Validated 0 Entries 2011/09/06 16:55:16| store_swap_size = 0k 2011/09/06 16:55:17| storeLateRelease: released 0 objects
在客户端访问就行了,squid或webserver中任意一个断掉都不影响访问
日志查看:
tail access.log 1312362413.806 423 172.16.0.99 TCP_CLIENT_REFRESH_MISS/304 279 GET http://172.16.0.134:8080/ - FIRST_UP_PARENT/172.16.0.134 - 1312362414.279 473 172.16.0.99 TCP_CLIENT_REFRESH_MISS/304 279 GET http://172.16.0.134:8080/ - FIRST_UP_PARENT/172.16.0.134 - 1312362414.469 45 172.16.0.99 TCP_CLIENT_REFRESH_MISS/304 279 GET http://172.16.0.134:8080/ - FIRST_UP_PARENT/172.16.0.134 - 1312362414.668 199 172.16.0.99 TCP_CLIENT_REFRESH_MISS/304 279 GET http://172.16.0.134:8080/ - FIRST_UP_PARENT/172.16.0.134 - 1312362498.349 17080 172.16.0.99 TCP_CLIENT_REFRESH_MISS/200 403 GET http://172.16.0.111/ - DIRECT/172.16.0.111 text/html 1312362506.945 30142 172.16.0.99 TCP_CLIENT_REFRESH_MISS/503 1437 GET http://172.16.0.134:8080/ - DIRECT/172.16.0.134 text/html 1312362559.980 5189 172.16.0.99 TCP_MISS/200 404 GET http://172.16.0.111:8080/ - DIRECT/172.16.0.111 text/html 1312362562.860 29 172.16.0.99 TCP_CLIENT_REFRESH_MISS/304 281 GET http://172.16.0.111:8080/ - FIRST_UP_PARENT/172.16.0.111 - 1312362566.273 2 172.16.0.99 TCP_CLIENT_REFRESH_MISS/200 403 GET http://172.16.0.134:8080/ - FIRST_UP_PARENT/172.16.0.111 text/html 1312362567.765 1395 172.16.0.99 TCP_CLIENT_REFRESH_MISS/304 281 GET http://172.16.0.134:8080/ - FIRST_UP_PARENT/172.16.0.111 –
这是代理的配置以及效果图
完成!
相关文章推荐
- 使用Squid配置反向代理(HTTP 加速器)
- squid 配置web反向代理
- 【APP】squid 3.0反向代理配置 推荐
- squid服务搭建与(正反向代理)配置
- 一份反向代理配置文件(squid-Webmail)
- squid作反向代理的配置实例
- Squid安装和反向代理配置简明指南
- Squid 反向代理配置
- Squid 3.0 反向代理(加速模式)配置
- squid反向代理网站配置示例
- squid 2.7 设置反向代理配置
- 学习笔记之squid反向代理,加速的配置
- Squid配置反向代理
- squid安装配置(反向代理)
- Linux下Squid正向/反向代理配置
- squid透明代理和反向代理配置过程
- Squid 3.0 反向代理(加速模式)配置及安装
- squid 反向代理配置
- Squid3.0反向代理(加速模式)配置及安装
- squid2.7安装与配置