Squid仅缓存特定域和文件类型的内容。

时间:2015-10-25 09:42:13

标签: caching squid

我想设置Squid来缓存特定域中的特定文件(.jpeg)。这些文件每天更新​​。我正在运行Ubuntu。我的笔记本电脑上有一个脚本,它使用这些文件,理想情况下我希望这个脚本调用Squid缓存而不是直接调用服务器。我不想缓存不是来自域并且文件类型不正确的内容。这是可能的,我需要在squid.conf编辑什么?

2 个答案:

答案 0 :(得分:3)

建议的解决方案:

acl filecachetype urlpath_regex \.jpeg
acl cacheDomain dstdomain <your domainname> or acl cacheDomain dst <domain ip>
cache deny !filecachetype !cacheDomain 

不行。 ACL在相同的情况下执行AND,这意味着它只会在文件既非jpeg而不在domain.com上时避免缓存。它仍将缓存:

  • &lt; your domain&gt;
  • 上的所有文件
  • 任何域名中的所有jpeg文件

您需要的是:

acl filecachetype urlpath_regex \.jpeg
acl cacheDomain dstdomain <your domainname>
cache deny !filecachetype
cache deny !cacheDomain

这将拒绝缓存不是jpeg的文件(无论它们在哪里,甚至在您的服务器上),也会拒绝缓存不在&lt; your domain&gt;上的文件。 (即使他们是jpeg)。逻辑OR,而不是AND。

答案 1 :(得分:1)

acl filecachetype urlpath_regex \.jpeg
acl cacheDomain dstdomain <your domainname> or acl cacheDomain dst <domain ip>
cache deny !filecachetype !cacheDomain 
cache all