Как отправить запрос на очистку в varnish

Я не вижу похожего вопроса, но прошу прощения, если я дублирую.

Мы используем кэш varnish в нашей системе, но хотим установить систему, в которой мы можем очищать отдельные страницы, когда они редактируются (довольно нормально). Мы пытались заставить это работать, используя HTTP-заголовок. Итак, наш VCL настроен следующим образом:

acl purge {
      "localhost";
#### Our server IP #####
}

sub vcl_recv {
    if (req.request == "PURGE") {
            if (!client.ip ~ purge) {
                    error 405 "Not allowed.";
            }
            return (lookup);
    }
}

sub vcl_hit {
    if (req.request == "PURGE") {
            purge;
    }
 }

sub vcl_miss {
        if (req.request == "PURGE") {
                 purge;
        }
}

Однако я застрял на том, как на самом деле отправить http-запрос на очистку. Мы используем PHP для сайта, поэтому я пробовал использовать:

header("PL: PURGE / HTTP/1.0");
header("Host: url to purge");

Но это, похоже, ничего не делает (и varnishlog, похоже, не показывает, что что-то очищается).

Я также экспериментировал с cURL, но, опять же, похоже, что это не работает. Я упускаю что-то действительно базовое, или основа хороша, а моя реализация ошибочна?

Большое спасибо,

21
задан nish 18 October 2013 в 06:29
поделиться