squid代理服务器

squid代理服务器

nginx也可以代理:反向代理--------负载均衡

                 nginx也可以缓存

                 nginx无法做正向

                 proxy_pass 反向代理

squid:正向代理服务器。

squid:正向代理,换存加速,acl过滤控制

代理的工作机制:

1、代替客户端向网站请求数据,不需要访问代理的ip地址。直接请求目的网站,有代理服务器处理请求和响应

可以隐藏用户的真实ip地址

2、客户端访问目标网站之后(静态web元素)保存到缓存中,发送给客户端,下一次所有的客户机都可以使用缓存访问,加快访问速度

squid代理的作用:

1、资源获取,代替客户端获取目标服务器的资源

2、加速访问,代理服务器可能和目标服务器距离更近,可以起到一定的加速作用

3、缓存作用,代理服务器保存从目标服务器获取的资源。客户端下一次再请求目标服务器可以直接访问缓存即可,减轻目标服务器的压力

4、隐藏真实的ip地址。代理服务器代理客户端请求。客户端的信息不会显示

squid代理的类型:

1、传统代理,正向代理,需要再客户端上指定好代理服务器的地址和端口

2、透明代理,客户端不再需要指定代理服务器的地址和端口,而是通过默认路由来进行转发(squid服务器,网关)

3、反向代理,在反向代理的squid服务器当中缓存了请求资源,将资源直接返回客户端,否则,代理服务器会代理客户端向web服务器发起请求,然后再把请求的资源响应给客户端,同时把响应缓存在本地,后续请求者都可以使用

有缓存直接响应缓存内容,没有缓存,才会代替客户端请求web资源,响应结果保存在缓存,然后响应给客户端,下一次直接访问缓存即可,缓存是否命中

区别:

SNAT和DNAT                  代理服务器squid

网络层                          应用层

该表数据包头部               不改变数据包的任何信息,直接把数据包发给代理

的源ip地址和目               代理通过应用层过滤的方式来实现转发(有点像路由器)

的地址

./configure --prefix=/usr/local/squid \ --sysconfdir=/etc \ 配置文件路径

--enable-arp-acl \ 开启acl过滤模式

--enable-linux-netfilter \ 开启内核过滤

--enable-linux-tproxy \ 支持透明模式

--enable-async-io=100 \ 异步IO

--enable-err-language="Simplify_Chinese" \ 错误信息的显示语言

--enable-underscore \ 允许URL地址中含有下划线

--disable-poll \

--enable-epoll \

--enable-gnuregex

配置文件的匹配规则:自上而下匹配,匹配到之后,不再向下匹配

squid -k parse #检测配置文件是否正确

squid -N -d1 #运行过程是否正常chkconfig --level 35 squid on

35 启动优先级,0-100 数字越人,优先级越低。

cache mem 缓存功能使用的内存空间大小。容量最好为4的倍数。单位用MB,建议是内存的四分之一

reply_body_max_size 100 MB 允许用户下载的最大文件的大小。浏览器会提示请求或访问太大maximum_obiect_size 100 MB 能够缓存的对象的最大值,超过这个单位不会被缓存,直接返回给用户。

透明代理:

web 12.0.0.12

双网卡分别指向网关

1、配置文件写错了,重启没有任务报错

2、添加了ip加端口之后一定要查看一下ip+端口是否生效。

3、客户端和服务端都要指向网关

4、iptables的策略,在代理服务器要配置,开启转发功能.

反向代理

http_port 192.168.233,20:80 accel vhost vport

squid从一个缓存变成了一个web服务器反向代理的加速模式 squid监听的80端口请求。同时和web服务器的请求端口绑定。squid不是转发请求,而是要么从缓存获取数据,要么直接请求绑定的web端口

accel:反向代理加速模式

vhost:支持域名或者主机名来代表代理服务器

vport:支持ip+端口来表示代理服务器

你可能感兴趣的:(运维)