我想根据页面的内容从 Varnish 缓存中排除某些页面(例如,如果表单使用特定的隐藏字段,这是一个安全功能,并且在每次页面刷新时都需要唯一)。
我有几十个表单,所以我不想从缓存中单独排除每个唯一的页面。
这在VCL中可能吗?
不,通常不会。正确的方法是在您的页面上设置缓存标头(例如"缓存控制:无缓存,必须重新验证"),其中包含不可缓存的形式,而清漆将依次读取这些表单。
作为一个很好的副作用,它也会取消大多数客户端缓存,这些缓存通常也会导致 CAPTCHA 等麻烦。