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