系统原理分析架构-五-squid(反代理即web缓存服务器)

感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所不免,欢迎指正!html

若有转载,请保留源做者博客信息。
前端

Better Me的博客blog.csdn.net/tantexian

如需交流,欢迎你们博客留言。node


反向代理的概念

关于代理服务器分类更多详情,请参考博文:系统原理分析架构-三--代理服务器简介及分类

反向代理服务器又称为 WEB 加速服务器,它位于 WEB 服务器的前端,充当 WEB 服linux

务器的内容缓存器。web


反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提升了访问速度,同时避免了因用户直接与 WEB 服务器通讯带来的安全隐患。vim


Squid 反向代理的实现原理

目前有许多反向代理软件,比较有名的有 Nginx 和 Squid 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。centos

Squid是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是如今 Unix 系统上使用、最多功能也最完整的一套软体。Squid反向代理服务器位于本地 WEB 服务器和 Internet 之间。下面将重点介绍 Squid 反向代理的实现原理和在提升网站性能方面的应用。缓存




搭建squid web缓存服务器安全


一、实验环境(因为机器有限,都在单机上面实验)服务器

centos 6.5 X64 mini版 

squid服务器: ip 192.168.10.20

web服务器:ip 192.168.10.21

全部机器配置为16G内存


二、配置web服务器(node21):

测试方便,关闭selinux、关闭iptables


一下都采用默认,不作配置便可。

# vim /etc/httpd/conf/httpd.conf 

httpd监听端口:


DocumentRoot:网页存放的路径,文档的根目录


重启httpd

# service httpd rstart


页面访问httpd:




修改显示内容:

# vim /var/www/html/index.html

I' node21...


再次访问:


三、配置squid反向代理(node20):

# yum install squid


# vim /etc/squid/squid.conf


配置文件修改后使之生效:

squid -k parse
squid -k reconfigure
/etc/init.d/squid restart 或reload



附上重点配置截图:

配置生效:

squid -k reconfigure

访问192.168.10.20(被squid代理到node21上去了):


测试squid反向代理成功。


接下来测试真实场景下的squid代理openstack web:

已经存在的openstack访问地址为:http://192.168.10.138/manager/instances/


再用node20的squid作反向代理:

附上重要配置文件:

配置生效:

squid -k reconfigure


访问20(20的ip方向请求的内容为138内容)


查看:X-Cache-Lookup:参数HIT from node20:80(缓存命中)




查看缓存命中率:(squidclient 自行安装

squidclient -p 80 mgr:info



查看squid缓存了哪些内容:


讲解完毕。



最后附上squid的一些参考文章:

squid配置-cache_peer和cache_peer_domain详


详细解析用Squid实现反向代理的方法(一台多台)
相关文章
相关标签/搜索