快捷搜索:   nginx

Linux squid 反向代理中防盗链

    squid图片防盗链的配置如下:
            pics urlpath_regex -i \.(gif|jpg|jpeg|bmp|png)$   /* 匹配是否是图片 */
            acl domain_refer referer_regex -i domain /* 匹配允许的域名关键字 */
            acl notnull_refer referer_regex .   /* 匹配非空referer */
            http_access allow pics !notnull_refer /* 允许空referer访问图片 */
            http_access deny pics !domain_refer /* 拒绝其他域名调用图片 */
            deny_info http://www.domain.com/logo.gif domain_refer /* 有盗链的,显示我们的
            logo*/

            有了Varnish防盗链,自然也要有Squid的防盗链。原理都一样,对Referer进行判断,当然网上有所谓的终极解决方案还对cookies进行 判断的,这里还是只讨论Referer这种。在Squid里就是在配置文件添加acl控制,在squid.conf中的acl段添加如下配置:
            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
            解释一下,has_referer匹配Referer存在,然后利用!has_referer来匹配没有Referer即直接访问的请求,这部分请求不予 做防盗链处理,allow。allow_referer即允许使用源站资源的网站,然后利用!allow_referer来匹配不在允许列表的网站,这些 不允许的Referer过来的请求就返回deny_info的内容

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论