搭建Squid反向代理服务器
好吧,更新个文章,有段时间没写技术博文了。今天就说说squid反向代理这个服务,当然,这是在Linux下配置完成的。说自己没偏见似乎不可能 了。大概是相对喜欢Linux而已。但我从不否认Windows Server功能及性能会比Linux差。只是个人爱好哈,不多说。下面说下搭建squid反向代理多个域名,多个web站点的方法。
环境(这个很重要)
两台CentOS6.3一台RHEL6.2
网卡信息和DNS记录信息比较多,似乎有点烦,有需要的看清楚就是了。纯属个人喜好和习惯划分的。
DNS Server IP:192.168.2.10 (VMnet2)
Squid Server IP:(双网卡,一般代理都是代理Internet的访客吗,内外自己就不必麻烦了)外网(VMnet8‘NAT’模式并不要启用VMware的DHCP 分配,即查看信息后手动对应更新为静态IP)192.168.8.113/24,内外(VMnet2)192.168.2.20/24
内部WEB Server IP:192.168.2.30-33/24(VMnet2)对应虚拟主机配置的名称查阅下面DNS配置:
[root@localhost named]# more 2.168.192.zone$TTL 1D@ IN SOA @ rname.invalid. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS @MX 5 @A 192.168.2.10PTR ns.zwz.com.20 PTR mail.zwz.com.PTR pop3.zwz.com.PTR smtp.zwz.com.PTR www.zwz.com.PTR squid.zwz.com.PTR www.wl.com.30 PTR ftp.zwz.com.30 PTR www1.zwz.com.31 PTR www2.zwz.com.32 PTR www3.wl.com.33 PTR www4.wl.com.[root@localhost named]#
上面红色字对应的DNS记录全是指向内部WEB服务器的相应站点。蓝色字是指向Squid服务器的,即外网访问的域名。这些是用CNAME方式做的,由于有两个域名,并都是同一个反向区域记录,所以这里就只more出反向解析的配置文件了。正向解析有需要的自个配置哈。
Note:事实上,www.zwz.com和www.wl.com就是申请的公网IP地址了。
从WEB服务器的配置开始吧,下面是Apache虚拟主机相关站点的配置:
NameVirtualHost 192.168.2.30:80NameVirtualHost 192.168.2.31:80NameVirtualHost 192.168.2.32:80NameVirtualHost 192.168.2.33:80<VirtualHost 192.168.2.30:80>ServerAdmin admin@zwz.comDocumentRoot /var/www/html/web1ServerName www1.zwz.comDirectoryIndex index.html index.html.varErrorLog logs/dummy-host.example.com-error_logCustomLog logs/dummy-host.example.com-access_log common</VirtualHost><VirtualHost 192.168.2.31:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/web2ServerName www2.zwz.comDirectoryIndex index.htmlErrorLog logs/dummy-host.example.com-error_logCustomLog logs/dummy-host.example.com-access_log common</VirtualHost><VirtualHost 192.168.2.32:80>ServerAdmin admin@wl.comDocumentRoot /var/www/html/wl1ServerName www3.wl.comdirectoryindex index.htmlErrorLog logs/dummy-host.example.com-error_logCustomLog logs/dummy-host.example.com-access_log common</VirtualHost><VirtualHost 192.168.2.33:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/wl2ServerName www4.wl.comdirectoryindex index.htmlErrorLog logs/dummy-host.example.com-error_logCustomLog logs/dummy-host.example.com-access_log common</VirtualHost>[root@localhost html]#
有关Apache虚拟主机的配置这里不多说鸟。
最后是squid反向代理服务器的配置。其实squid的acl还是很强大哈,本人倒也没有深入学习过。但隐隐约约感觉到和微软的ISA有点点相似。结合Linux下的iptables应该也可以实现一个相对简单的局域网内的软件防火墙了。
1.安装squid软件—–本地yum吧。yum install -y squid 即可。
2.配置文件并不多,全在目录/etc/squid/下。而且这里我们都是只需要修改该目录下的squid.conf配置文件即可。话又说回来,该文档中只有squid软件的些许参数,很多都没在该文档中出现。
acl all src 0.0.0.0/0.0.0.0http_access allow all ##Note:注意该句应该写在默认的的deny all前面哈。acl了,不解析,顺序读取嘛。cache_log /usr/local/squid/var/logs/cache.logaccess_log /usr/local/squid/var/logs/access.log squidcache_dir ufs /usr/local/squid/var/cache/ 1000 16 256coredump_dir /var/spool/squid ##不用多说吧,相关日志/缓存等目录的具体路劲。http_port 80 accel vhost vport ## 配置 squid 为加速模式,并且都是是用虚拟主机的配置。cache_mem 64 MB ##squid 用于缓存的内存量,由于我是用VMware完成的,而且系统一共才给了265MB,所以也就只给了64MB了。cache_swap_low 90cache_swap_high 95cache_effective_user squid ##指定缓存的有效用户cache_effective_group squid ##缓存的有效用户组visible_hostname squid.zwz.com ## 设定 squid 的主机名 , 如无此项 squid 将无法启动,可以任意取。cache_peer 192.168.2.30 parent 80 0 no-query originserver round-robin name=www1cache_peer_domain www1 www.zwz.comcache_peer 192.168.2.31 parent 80 0 no-query originserver round-robin name=www2cache_peer_domain www2 www.zwz.com##上面四句的意思是将www.zwz.com这个站点的请求通过RR轮询方式进行请求,如果用户请求的数据本地##Squid服务器上有,那么就直接返回,否则向web源站点请求数据,然后再返回给用户。从这里看出虾米哦(Cdn吧,嘿!)cache_peer 192.168.2.32 parent 80 0 no-query originserver round-robin name=www3cache_peer_domain www3 www.wl.comcache_peer 192.168.2.33 parent 80 0 no-query originserver round-robin name=www4cache_peer_domain www4 www.wl.com##同上四句~
上面配置可以清楚有冲突的acl然后直接添加至该文档的最后面。该配置文件安装后就有,在/etc/squid/目录下有几个是配置文档,还是几个是相对应的存档(带.default的)
好啦。至此,启动相关服务器上的相关服务进行测试呗,我是用物理机修改hosts的方法进行测试的。添加物理机hosts记录对应的squid服务 器的NAT网卡IP指向www.zwz.com和www.wl.com即可。hosts文件一般在C:\Windows\System32 \Drivers\etc目录下。
Note:不要使用chrom浏览器进行测试。貌似该浏览器自带有种代理请求的东东,其实也就是本软件范围内的缓存,好像还是比较顽固的,用IE或者Firefox测试都行,(我都是用隐私模式浏览滴)。好吧,上图看下:
![](http://www.kutea.net/wp-content/uploads/2013/05/www1-300x80.png)
第一次访问www.zwz.com
![](http://www.kutea.net/wp-content/uploads/2013/05/www2-300x83.png)
刷新访问www.zwz.com
![](http://www.kutea.net/wp-content/uploads/2013/05/www3-300x75.png)
第一次访问www.wl.com
![](http://www.kutea.net/wp-content/uploads/2013/05/www4-300x77.png)
刷新访问www.wl.com
配置完成,还有些想法哈,目前貌似这东东也不是很流行了捏。但应该也还是用人在使用的。下次倾向于Nginx哪~
搭建Squid反向代理服务器的更多相关文章
- Windows下配置Squid反向代理服务器
Squid是一款类Unix系统下非常流行的服务器软件,其最重要的功能就是在客户端和服务端之间建立缓存.因而Squid可以用作反向代理,部署多级缓存或者搭建CDN等,无论名称是什么,本质上都是一样的.目 ...
- windows 配置squid反向代理服务器
发现Window版本的Squid 和 Linux 配置有点不一样 一.配置squid\etc目录1.squid.conf.default 拷贝一份重新命名为squid.conf2.cachemgr.c ...
- windows下简单配置squid反向代理服务器
下载windwosNT版本的squid下载地址: http://squid.acmeconsulting.it/download/squid-2.6.STABLE13-bin.zip 1.把squid ...
- 31.Squid缓存代理服务器应用
Squid缓存代理服务器应用 Squid安装介绍 web缓存的工作机制 缓存网页对象,减少重复请求 squid 主要提供缓存加速.应用层过滤控制的功能. 工作机制 代替客户机问网站请求数据,从而可以隐 ...
- Squid 反向代理加速网站
本实例的域名是 wenjin.cache.ibm.com.cn,通过DNS的轮询 技术,将客户端的请求分发给其中一台 Squid 反向代理服务器处理,如果这台 Squid 缓存了用户的请求资源,则将请 ...
- 利用squid 反向代理提高网站性能
部分转自:http://www.ibm.com/developerworks/cn/linux/l-cn-squid/ Squid 反向代理的实现原理 目前有许多反向代理软件,比较有名的有 Nginx ...
- 利用 squid 反向代理提高网站性能(转载)
本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...
- 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度
2011年11月26日 ? Web服务器架构 ? 评论数 2 案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户.移动宽带用户出现 ...
- m2014-architecture-imgserver->利用Squid反向代理搭建CDN缓存服务器加快Web访问速度
案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户.移动宽带用户出现问题:电信用户打开www.abc.com正常,移动用户打开ww ...
随机推荐
- react setState里的作用域
从接触racet开始,我们就认识了setState,它是对全局变量进去更新的一个重要方法, 不仅可以更新数据,还能在更新后执行方法时直接调用刚刚更新的数据 今天碰到的问题就在于它的作用域的先后问题 先 ...
- 动态读取cron表达式
项目中在使用任务调度时往往会用到cron表达式,比如每五分钟执行一次,每天12点执行一次,每周四凌晨1点执行一次等.但是如果将cron表达式写死,往往不利于测试.解决方案:我们可以将cron表达式写入 ...
- 树链剖分【p1505】[国家集训队]旅游
Description Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间 ...
- Tarjan缩点+LCA【p2783】有机化学之神偶尔会做作弊
Description 你翻到那一题:给定一个烃,只含有单键(给初中生的一个理解性解释:就是一堆碳用横线连起来,横线都是单条的). 然后炎魔之王拉格纳罗斯用他的火焰净化了一切环(???).所有的环状碳 ...
- 拓扑排序【p1137】 旅行计划
Description 小明要去一个国家旅游.这个国家有\(N\)个城市,编号为\(1\)至\(N\),并且有\(M\)条道路连接着,小明准备从其中一个城市出发,并只往东走到城市\(i\)停止. 所以 ...
- kotlin扩展函数
kotlin 扩展函数 https://www.kotlincn.net/docs/reference/extensions.html 扩展函数在android中的应用 fun AppCompatAc ...
- Email List
题目:给几个Email的list,输出全部list的交集(在全部list中都出现过的email). 思路:用set记录前i个list中都含有的email,当进行第i+1时,检查每个email是否在该s ...
- 每天一个linux命令1之scp
不同的Linux之间copy文件常用有3种方法: 第一种就是ftp,也就是其中一台Linux安装ftpServer,这样可以另外一台使用ftp的client程序来进行文件的copy. 第二种方法就是采 ...
- 玩转Nuget服务器搭建(二)
之所以分开来写这几部分,是因为今天搭建的过程中,碰到了几个问题,特别提一下,让大家省下这部分时间(毕竟人生苦短嘛,你如果就是闲的蛋疼,请给我你的GUID,我送你几瓶风油精). NugetServer ...
- Python学习笔记——模块
使用模块 python中包的组织方式是模块,一个使用其它模块的例子如下: # Filename: using_sys.py import sys print 'The command line arg ...