То, что я делаю, мягко говоря, безумно, но поскольку GET-запросы имеют очень строгое ограничение по размеру, solr использует POST-запросы к URL /solr/select
, чтобы сделать то, что "семантически" является GET.
Я пытаюсь поставить varnish перед solr, чтобы сделать некоторое кэширование. Я поместил это в vcl_recv
function:
if (!(req.request == "GET" || req.request == "HEAD" ||
(req.request == "POST" && req.url == "/solr/select"))) {
/* We only deal with GET and HEAD by default */
/* Modified to support POST to /solr/select */
return (pass);
}
и теперь varnish пытается обработать это, но автоматически преобразует POST в GET.
Я понимаю, что все это довольно нелепо и далеко от лучших практик, но в любом случае, есть ли простой способ использовать varnish таким образом?