小编Bas*_*hdl的帖子

添加了 Varnish 禁令,但返回了旧对象

我在切片服务器前面使用清漆来缓存 Mapbox 切片。为了删除旧的图块,我打算使用禁令来有效地删除大量缓存的图块。我的问题是清漆仍然使用缓存的对象(至少age响应中表明了这一点)并且不联系后端。

curl -X BAN -H 'X-Purge-Regex: 5/3/4.pbf' varnish我首先请求 http://varnish/5/3/4.pbf,然后使用或 或者添加禁令varnishadm,然后ban obj.http.url ~ 5/3/4.pbf再次请求 http://varnish/5/3/4.pbf。

一开始我的禁令列表是空的:

Present bans:
1610117471.434488     1 C
Run Code Online (Sandbox Code Playgroud)

禁令已成功添加curl -X BAN -H 'X-Purge-Regex: 5/3/4.pbf' varnish

<!DOCTYPE html>
<html>
  <head>
    <title>200 Ban added</title>
  </head>
  <body>
    <h1>Error 200 Ban added</h1>
    <p>Ban added</p>
    <h3>Guru Meditation:</h3>
    <p>XID: 8</p>
    <hr>
    <p>Varnish cache server</p>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

并显示在禁止列表中

Present bans:
1610117369.028870     0 -  obj.http.url ~ 5/3/4.pbf
1610117307.220739     1 C  
Run Code Online (Sandbox Code Playgroud)

再次请求http://varnish/5/3/4.pbf后,ban列表显示使用了该ban

Present bans:
1610117471.434488     1 - …
Run Code Online (Sandbox Code Playgroud)

postgis varnish http-caching varnish-vcl mapbox-gl-js

2
推荐指数
1
解决办法
754
查看次数