配置varnish 批量刷新缓存,
参考 :https://www.varnish-cache.org/docs/3.0/tutorial/purging.html?highlight=ban 在sub vcl_recv 中添加 if (req.request == "BAN") { if (!client.ip ~purge){ error 405 "Not allowed"; } ban("req.http.host == " +req.http.host+" && req.url ~ "+req.url); error 200 "Ban added"; } php,刷新函数 function ban($ip,$host, $uri) { $errstr = ''; $errno = ''; $fp = fsockopen ($ip, 80, $errno, $errstr, 2); if (!$fp) { return false; } else { $out = "BAN $url HTTP/1.1\r\n"; $out .= "Host:$host\r\n"; $out .= "Connection: close\r\n\r\n"; fputs ($fp, $out); while (!feof($fp)) { $out = fgets($fp,4096); } fclose ($fp); return true; } }uri可以是目录 ("/"结尾),也可以匹配正则,(如 .*\.png)