Cookies 清漆可在不稳定cookie时去除PHPSESSID
很长一段时间以来,我一直试图在我的一些网站前涂上一层清漆(3.0.4)。 我从一个干净的配置文件开始(varnish附带的文件,“/usr/share/doc/varnish/examples/default.vcl.gz”) 好吧,它正在工作,但它似乎没有缓存任何东西(我添加了头以查看它:) 因此,我在我的sub_recv中添加了这些行:Cookies 清漆可在不稳定cookie时去除PHPSESSID,cookies,varnish,varnish-vcl,Cookies,Varnish,Varnish Vcl,很长一段时间以来,我一直试图在我的一些网站前涂上一层清漆(3.0.4)。 我从一个干净的配置文件开始(varnish附带的文件,“/usr/share/doc/varnish/examples/default.vcl.gz”) 好吧,它正在工作,但它似乎没有缓存任何东西(我添加了头以查看它:) 因此,我在我的sub_recv中添加了这些行: if (req.url ~ "\.(png|gif|jpg|jpeg|js|css|ico|pdf)$") { unset req.http.Co
if (req.url ~ "\.(png|gif|jpg|jpeg|js|css|ico|pdf)$") {
unset req.http.Cookie;
}
当我写下这些行时,我的会话在加载一些图片后就停止了,varnishlog向我显示不同PHPSESSID的日志:
16 RxHeader c Cookie: PHPSESSID=gkl02227ef1iq4joai0tsbi026
23 TxHeader b Cookie: PHPSESSID=oomupd8tnvirpn8eamsertuih4
...
已在此处发布完整的default.vcl:
编辑:也许它有一些重要性,但调用图像时会使用类似“http://domain.com/?t=Thb&f=picture.jpg”(PhotoShow gallery)的链接
你有主意吗?提前谢谢 您必须通过图像过滤回Cookie到您的客户:
sub vcl_fetch {
// ... Line .82 in your pastebin
if (req.url ~ "\.(png|gif|jpg|jpeg|js|css|ico|pdf)$") {
unset beresp.http.set-cookie;
}
// ...
}
现在发生的就是这样(图像缓存有一个空的浏览器缓存):
它就像一个符咒!谢谢你的解释,我理解我的PHPSESSID(Tx和Rx)之间的区别。谢谢!