文档章节

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

tantexian
 tantexian
发布于 2016/02/29 22:35
字数 948
阅读 53
收藏 1

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

如有转载,请保留源作者博客信息。

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

如需交流,欢迎大家博客留言。


反向代理的概念

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

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

务器的内容缓存器。


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


Squid 反向代理的实现原理

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

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




搭建squid web缓存服务器


1、实验环境(由于机器有限,都在单机上面实验)

centos 6.5 X64 mini版 

squid服务器: ip 192.168.10.20

web服务器:ip 192.168.10.21

所有机器配置为16G内存


2、配置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...


再次访问:


3、配置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实现反向代理的方法(一台多台)


© 著作权归作者所有

tantexian
粉丝 218
博文 527
码字总数 746616
作品 0
成都
架构师
私信 提问
利用 squid 反向代理提高网站性能

本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技...

红薯
2009/04/12
4.3K
4
squid反向代理配置,作为web服务器的前端内容缓存器。

squid反向代理配置,作为web服务器的前端内容缓存器。 本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。作者在...

widely
2013/10/31
0
0
squid反向代理

squid反向代理配置,作为web服务器的前端内容缓存器。 本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。作者在...

香胖
2015/12/07
23
0
Linux 系统通过 Squid 配置实现代理上网

Squid 介绍 普通代理:需要客户机在浏览器中指定代理服务器的地址、端口。 透明代理:适用于企业的网关主机(共享接入 Internet)中,客户机不需要指定 代理服务器地址、端口等信息,代理服务...

彭锐
2018/05/31
0
0
系统原理分析架构-四-squid(简介及正向代理)

感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正! 如有转载,请保留源作者博客信息。 Better Me的博客:blog.csdn.net/tantexian 如需交流,欢迎大...

tantexian
2016/02/29
34
0

没有更多内容

加载失败,请刷新页面

加载更多

Knative 初体验:Eventing Hello World

作者 | 阿里云智能事业群高级开发工程师 元毅 基于事件驱动是Serveless的核心功能之一,通过事件驱动服务,满足了用户按需付费(Pay-as-you-go)的需求。在之前的文章中我们介绍过 Knative ...

zhaowei121
28分钟前
2
0
利用AJAX向后台servlet传JSON数据,后台利用fastjson进行解析

一,json的构建 JSON的格式分为两种,第一种类似于JavaScript中的对象(这里需要注意的是JS中的对象与java中的对象概念是不一样的,js可以在对象中定义属性,方法等,类似于java中的类,但是...

我叫小糖主
30分钟前
1
0
Adobe开发出一个反修图工具 还原人像PS 痕迹

“这是一个假人,但在网路上有多少自拍可以代表真人?”一些读者在虚拟偶像的讨论下评论了这篇文章。 事实上,在上传照片先进行修图似乎是一种新的“社交礼仪”,并且越来越难以区分真假内容...

wowloop
33分钟前
5
0
壮丽70年·奋斗新时代|蒸妙中药熏蒸和汗蒸的区别

桑拿、汗蒸、熏蒸相信这些在日常生活中都常能听到,如今现代人的生活和工作压力越来越大,很多人的身体早已吃不消了,一些人就会选择汗蒸或者熏蒸来放松身体。 汗蒸是一种休闲全新的养生方式...

公益传承
33分钟前
0
0
setSystemUiVisibility方法和getSystemUiVisibility方法

这两个方法的调用方式如下: getActivity().getWindow().getDecorView().setSystemUiVisibility; getActivity().getWindow().getDecorView().getSystemUiVisibility; 参考资料: http://blo......

天王盖地虎626
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部