Назад | Перейти на главную страницу

Настройте лак для аннулирования кеша на основе URL-адреса и заголовка авторизации

Мне было интересно, можно ли сделать недействительным кешированный объект по URL-адресу.

Скажем, у меня есть URL-адрес /api/0.1/user и URL-адрес /api/0.1/userFriends, что я хотел бы знать, есть ли способ сделать /api/0.1/user недействительным, когда запрос PUT к / api /0.1/userMedia сделано. Однако он должен только аннулировать кеш с помощью авторизации HTTP-заголовка. поэтому в основном только аннулируют кеш для пользователя, который выполнил запрос PUT.

Я считаю, что мне нужна конфигурация запрета, чтобы эта работа работала, но я новичок в лаке, поэтому я буду очень признателен!

Это должно быть возможно. Если у вас в vcl_recv есть что-то подобное:

sub vcl_recv {
  if (req.request == "PUT") {
    http.req.x-url = regsub(req.url, "(/api/0.1/user)Media", "\1");
    ban_url("^" + x-url);
    unset req.http.x-url;
  }
}

Это совершенно не проверено. "man vcl" для получения дополнительной информации о синтаксисе и семантике vcl.