Squid清除特定缓存

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010039418/article/details/81869798

背景:

使用squid做代理,一般同时也会缓存一些文件,节约带宽也可以加快访问速度,但是有时候源站的文件更新了,但是由于有缓存,客户端获取到的就还是旧的文件。这时候就要在代理机上清除某些缓存了。

配置:

在squid配置文件中添加以下内容,

[root@localhost ~]# vi /etc/squid/squid.conf
......
acl cachemanager src 192.168.0.1 127.0.0.1
acl Purge method PURGE
http_access allow cachemanager Purge
http_access deny Purge

配置文件定义了cachemanager ,限定本机ip:192.168.0.1及本地换回地址127.0.0.1能执行PURGE操作。
PURGE请求允许用户删除特定缓存,如果成功清除了所请求的 URL,服务器会发送 HTTP 状态码为 200(正常)的响应。如果未缓存所指定的 URL,则会发送 404(未找到)响应。

操作

使用squid自带的squidclient,格式如下,

squidclient -h hostIP -p port -m PURGE URL

其中,-h指定检索的主机,-p为squid开放的端口,-m即为请求方法,删除缓存使用的是PURGE请求,URL即为需要删除的缓存。

例如删除本机上百度的缓存可如下操作,

[root@localhost /home]# squidclient -h 192.168.0.1 -p 80 -m PURGE http://www.baidu.com/
HTTP/1.0 200 OK
..
[root@localhost /home]# squidclient -h 192.168.0.1 -p 80 -m PURGE http://www.baidu.com/
HTTP/1.0 404 Not Found
..
[root@localhost /home]# 

连续两次发出PURGE请求,第一次清除成功返回200,第二次由于已经没有该缓存了,因此返回404。

猜你喜欢

转载自blog.csdn.net/u010039418/article/details/81869798
今日推荐