Linux运维~6.squid篇。VPN与服务器集群原理

squid是什么?

Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

 squid主要功能

1)缓存网站内容,以达到分担源站压力加快访问速度的目的。
2)热点缓存,只缓存访问热度到达设定级别的网站内容。
3)合并回源,多个相同的请求只回源一次。
4)ACL访问控制,可针对源IP、目的地IP、域名、URL、访问时间、单一最大连接数限制访问行为。或通过外部程序验证访问者(proxy_auth)。
5)主要支持协议:HTTP、HTTPS、FTP
6)网页内容篡改,可根据需求篡改网站内容。
7)网站头部篡改,可根据需求篡改请求头部。
8)可针对不同的域名或url配置不同的缓存规则。

 应用环境:

正向代理(本地网关)
a、正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
b、正向代理还可以使用缓存特性减少网络使用率。
c、正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。
透明代理CDN
a、提高各个地区访问者的访问速度。
b、减少源站压力。
c、减少网络运营商的网间结算费用。
d、节省网络运营商带宽资源。
反向代理(网站前端)
a、降低源站服务器的负载。
b、隐藏源站真实ip。

正向解析:VPN,翻墙

传统的代理服务器就是通过浏览器设置代理的方法。

用户访问网站,先到squid代理服务器,如果squid代理服务器有数据,那么squid就直接从缓存中放回给用户,如果squid缓存中没有,那么squid就代替用户去访问网站,把数据返回的给用户的同时留一份到缓存中,一遍下次用户(或者其他用户)访问的时候,直接从缓存中返回给用户

服务端:

ip:172.25.254.248
yum install squid.x86_64

vim /etc/squid/squid.conf
 56 http_access allow all
 62 cache_dir ufs /var/spool/squid 100 16 256

systemctl start squid

扫描二维码关注公众号,回复: 4653324 查看本文章

vim /etc/resolv.conf
nameserver 114.114.114.114

客户端:

打开浏览器
edit——preferences——Advanced——Network——settings——Manual proxy configuration
172.25.254.248——勾选——ok

测试:

输入www.baidu.com,可见浏览器可以上网

但是ping百度却是没网的,这是因为客户机借用squid服务器进行数据传输,来到达一些无法到达的地方


反向解析:服务器集群

隐藏服务器真实地址

squid做反向代理服务器,通常工作在一个服务器集群的前端,在用户看来,squid服务器就是他所要访问的服务器,而实际意义上,squid只是接受用户的请求,同时将用户请求转发给内部真正的WEB服务器,如果squid本身有用户要访问的内容,则squid直接将数据返回给用户,起到了缓存数据的作用,减少了后端服务器的压力。

服务端设置:(代理服务器)
vim /etc/squid/squid.conf
 60 cache_peer 172.25.254.148 parent 80 0 proxy-only name=web1 round-robin weight=2
 61 cache_peer 172.25.254.180 parent 80 0 proxy-only name=web2 round-robin
 62 cache_peer_domain web1 web2 www.westos.com

轮询访问,weight表示权重,3次中两次148,一次180

systemctl restart squid.service

客户端设置:

vim /etc/hosts    添加本地解析
172.25.254.148 www.westos.com
172.25.254.180 www.westos.com

客户端配置同正向解析
www.westos.com
出现轮询访问172.25.254.148与172.25.254.180即可

猜你喜欢

转载自blog.csdn.net/Stella_Pooter/article/details/84783027