Caching 需要可以设置自定义缓存密钥的http代理

Caching 需要可以设置自定义缓存密钥的http代理,caching,redirect,squid,http-proxy,Caching,Redirect,Squid,Http Proxy,我需要设置一个http代理,它可以为返回的内容设置自定义缓存密钥。squid2.7似乎已经能够使用storeurl_rewrite_程序功能实现这一点,但是该功能尚未移植到squid3。是否有其他方法可以做到这一点,使用squid或其他http代理软件?如果该软件还可以与外部服务器合作,对缓存对象进行访问控制,这是一个额外的好处,但不是立即需要的 使用案例是,我希望缓存频繁使用的数据,以便从速度较慢的存储中快速访问。此存储由http访问到前端,前端始终返回302(临时移动)重定向到实际保存数据的

我需要设置一个http代理,它可以为返回的内容设置自定义缓存密钥。squid2.7似乎已经能够使用storeurl_rewrite_程序功能实现这一点,但是该功能尚未移植到squid3。是否有其他方法可以做到这一点,使用squid或其他http代理软件?如果该软件还可以与外部服务器合作,对缓存对象进行访问控制,这是一个额外的好处,但不是立即需要的

使用案例是,我希望缓存频繁使用的数据,以便从速度较慢的存储中快速访问。此存储由http访问到前端,前端始终返回302(临时移动)重定向到实际保存数据的冗余磁盘服务器之一。我想要缓存的数据文件是公共的、静态的,通常只有几GB大小,因此非常适合缓存。但是,重定向URL将包含身份验证令牌,因此将始终是唯一的,从而有效地否定缓存。另一方面,从重定向URL重建原始URL是很简单的,因此如果代理服务器能够做到这一点并将其用于缓存密钥,那么缓存将重新投入使用

将storeurl_rewrite_程序功能添加到squid3中在此处标记为重要:

但是,它是否会进入squid3.3甚至squid3.4还非常不确定,squid2.7计划在squid3.2发布时淘汰

关于访问控制,SQUID似乎应该能够使用ExtalAlxAcLyType特征来实现这一点,但是在这个阶段提供对受保护数据的缓存访问并不重要,因此现在我认为这只是在顶部的糖。