squid反向代理

        反向代理的配置过程和正向代理没有什么太大区别,唯一的区别是配置文件中一个地方需要改动一下,需要把

1
[root@192 ~]# vim /etc/squid/squid.conf
1
http_port 3128

阅读全文 >>

Squid的防盗链

        有了Varnish防盗链,自然也要有Squid的防盗链。原理都一样,对Referer进行判断,当然网上有所谓的终极解决方案还对cookies进行判断的,这里还是只讨论Referer这种。在Squid里就是在配置文件添加acl控制,在squid.conf中的acl段添加如下配置:

1
2
3
4
5
6
7
8
9
acl has_referer referer_regex .
acl allow_referer referer_regex -i baidu\.com
acl allow_referer referer_regex -i google\.com
acl allow_referer referer_regex -i yahoo\.cn
acl allow_referer referer_regex -i google\.cn
http_access allow !has_referer
http_access deny !allow_referer
deny_info http://img1.test.com/images/noposter.jpg allow_referer

阅读全文 >>

学习CDN不得不读之-Squid 高级优化指南

        首先要明确一下,squid 能够用来作什么。很多人没有搞明白 squid 的工作原理,只是听说 squid 性能不错可以用来给网站提速,就直接在自己的 website 前面套了一个 squid ,这基本没有任何用处,即使你都是静态页面,后面apache上面没有开 mod_expires,一样缓存不了,squid只能起到一个连接管理的用处。

        一般说来,网站用 squid 加速,目的有二种

  1. squid 本身具有缓存功能,可以将webserver输出的内容缓存起来,在缓存没有过期之前来的访问,都直接用缓存里面的内容,这样可以有效减少 webserver 机器上面的请求数量。这是 squid 的主要功用。

  2. 网络慢的用户会长时间占用 webserver 的 TCP 连接,webserver 对每个连接占用的资源比较大,如果长时间不能释放出来服务其他请求,性能会有比较大的影响。前面放一个 squid, webserver 就可以迅速处理完逻辑以后,把数据快速发送给 squid, 然后去处理别的逻辑,而 squid 每个 TCP 连接占用的资源很少,不用担心占用太多资源。这个用途也叫做连接管理,有一些网络设备也可以做这个事情,价格都很贵。

        下面针对 squid 的两种功用,来讲述如何调整业务逻辑和 squid 参数预操作

        在搞 squid 之前,不管你用什么编译配置,需要什么特殊选项,都请 –enable-snmp ,并配置好 mrtg 之类,可以图形化的显示 squid 状态,例如 Request Hit Ratio(RHR), Byte Hit Ratio(BHR), 等等,反馈是做一切事情的基础,优化也不例外。

阅读全文 >>

删除squid缓存

        如何清除squid 缓存

  1. 首先在squid 的主配置文件中添加acl 列表,并允许受信任的主机有权限清除缓存
1
2
3
4
acl managercache src 192.168.1.145 127.0.0.1
acl Purge method PURGE
http_access allow managercache Purge
http_access deny Purge

阅读全文 >>

squid日志详解

        squid的日志很重要。常常要了解的,其中最重要的就是命中率啦,不然反向代理做的用就不大。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cat access.log|gawk ‘{print $4}’|sort|uniq -c|sort -nr
9568 TCP_IMS_HIT/304
6313 TCP_HIT/200
2133 TCP_MISS/200
1568 TCP_MISS/206
587 TCP_MEM_HIT/200
531 TCP_MISS/304
207 TCP_REFRESH_HIT/200
152 TCP_REFRESH_HIT/304
86 TCP_NEGATIVE_HIT/404
69 TCP_MISS/404
9 TCP_MISS/000
4 TCP_MISS/503
1 TCP_REFRESH_MISS/000
1 TCP_DENIED/400

阅读全文 >>

squid内核优化 减轻timewait问题

        Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量。

1
vim /etc/sysctl.conf

        增加以下几行:引用

1
2
3
4
5
6
7
8
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_b****ets = 5000

阅读全文 >>

squid服务介绍

        squid 是比较知名的代理软件,它不仅可以跑在 linux 上还可以跑在 windows 以及 unix 上,它的技术已经非常成熟,目前使用 squid 的用户也是什么广泛的。squid 与 linux 下其他的代理软件如 apache,socks,TIS FWTK 相比,下载安装简单,配置简单灵活,支持缓存和多种协议。

        squid之所以用的很多,是因为它的缓存功能。squid 缓存不仅可以节省宝贵的宽带资源,也可以大大降低服务器的 I/O 。从经济角度考虑,它是很多网站架构中不可或缺的角色

阅读全文 >>