感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如有转载,请保留源作者博客信息。
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详
来源:oschina
链接:https://my.oschina.net/u/2624214/blog/626168