2010-03-22 160 views
0

假设您想要从同一个网址提供不同的内容,但仍希望能够使用squid缓存。鱿鱼更改缓存密钥

例如缓存登录的用户主页与其他用户。有没有办法在将请求url放入squid的缓存之前添加一个cookie?

回答

0

尝试storeurl_rewrite_program玩:

http://www.squid-cache.org/Versions/v2/2.7/cfgman/storeurl_rewrite_program.html

基本上,它就像一个正常的鱿鱼重写/转发程序,但它仅影响使用查找/存储在缓存中的URL。

+0

是的,我看着使用重写程序,但程序没有提供足够的关于请求(即cookie键/值)的信息来做我想做的事情。 对于每个请求的URL重写将收到符合格式 URL CLIENT_IP“/” FQDN 用户方法 urlgroup [ kvpairs] 目前kvpairs不支持,我相信他们会解决这个问题。 – 2010-04-14 13:56:03

+0

是的。我有相同的用例,并且必须破解Squid将配置好的请求头传递给重写器以帮助做出决定。 对于一次性破解(参见store_rewrite.c:storeurlStart)来说这不是一个巨大的改变,但它涉及更多的涉及做到这一点,因此它可以折叠回到Squid中(我希望在某些时候做)。 – 2010-04-15 00:06:36

1

使用不同的标题。

因此,您可以拥有多个版本的页面,具体取决于不同的页眉。但浏览器必须发送变体标题,因此您没有太多选择来执行此操作。 Cookie头可以用于你的用例。小心PURGE方法不适用于鱿鱼中的变体缓存!