Я новичок в лаке. Редактируя подпрограмму backend selector, я обнаружил, что искал образец раннего возврата в файлах конфигурации Varnish.Лак, пользовательская подпрограмма с ранним выходом
sub select_backend {
if (req.http.host ~ "tracking\..*") {
set req.backend = tracking;
}
if (req.http.host ~ "myapp1.domain.com") {
if (req.url ~ "^/insecure/path") {
error 403 "Forbidden";
}
set req.backend = app1;
}
if (req.http.host ~ "myapp2.domain.com") {
set req.backend = app2;
}
}
sub vcl_recv {
// other stuffs
call select_backend;
}
Без надлежащего заявления возвращения/выхода существует риск (как файл становится все более и более сложным) в два раза изменить бэкенд. Возможно ли использовать шаблон раннего возврата, чтобы избежать этого? Если нет, то как мне избежать шаблона if
/elseif
, не теряя при этом производительность?