squid防盗链的设置
squid主要应用于图片的缓存,一个大型综合网站,会有很多外边的网站来外链我们的图片,造成图片的访问量很大,从而造成带宽的极大浪费。squid的防盗链功能很好地预防了这种情况的发生。配置如下:
acl allowdomain referer_regex -i "/etc/squid/domain.txt" .aaaa.com .bbbb.com //这里是不设置防盗链的域名,并且可以是一个域名列表文件(/etc/squid/domain.txt) acl nullref referer_regex -i ^$ acl hasref referer_regex -i .+ http_access allow nullref http_access allow allowdomain http_access deny hasref deny_info http://www.example.com/test.jpg hasref
以下内容来源网上:
见下面的内容。我设置的例子是在squid上对mp3和wma进行控制防盗链.其实原理很容易啦,主要是对referer进行控制,更加高级的大家可以研究一下用cookie来进行控制。有空我也写个出来.
acl wmvurl url_regex -i \.mp3$ \.wma$ \.exe$ #要控制的后缀,i不区分大小写,$以后缀名结尾 acl phpoaref referer_regex -i ^http://.*\.php-oa\.com #可以链接的网站,^url开始 .*任意字符串的通配符 \.将元字符转意为普通的.号,这个正则表达式的意思是以http://开头,2级域名不管是什么bbk.php-oa.com或者xxx.php-oa.com全部匹配。 acl legalplayer browser -i Firefox ^NSPlayer ^contype$ ^rma ^windows-media-player ^foobar2000 ^RealMedia ^RealPlayer #要在线直播的软件 ^开始,$结尾 http_access allow legalplayer wmvurl http_access allow phpoaref wmvurl #先让上面这些条件都可以的,让他们可以通过 http_access deny !phpoaref wmvurl http_access deny !legalplayer wmvurl #先accept后deny. deny_info http://xxxx/error.jpg phpoaref
#deny时出错时,给显示的出错的图.
本文出自 蓝鹰博客,转载时请注明出处及相应链接。
本文永久链接: http://www.lanyingblog.com/blog/2102.html