Короче говоря:
[Встроенный удар
[[]] Ключевые слова удара
Ключевые слова: Ключевые слова вполне похожи на builtins, но основное различие - то, что специальные правила парсинга относятся к ним. Например, [встроенный удар, в то время как [[ключевое слово удара. Они оба используются для тестирования материала, но так как [[ключевое слово, а не встроенное, это извлекает выгоду из нескольких специальных правил парсинга, которые делают это намного легче:
$ [ a < b ]
-bash: b: No such file or directory
$ [[ a < b ]]
Первый пример возвращает ошибку, потому что удар пытается перенаправить файл b к команде. Второй пример на самом деле делает то, к чему Вы ожидаете это. Символ <больше не имеет свое особое значение оператора File Redirection.
Источник: http://mywiki.wooledge.org/BashGuide/CommandsAndArguments
Помещение следующего блока в vcl_recv
должно сделать это:
if ( req.url ~ "^/\?random" ) {
return (pass);
}
Когда вы return (pass)
, вы пропустите возможность посмотреть запрос в кеше.
По умолчанию выполняется набор тестов, чтобы увидеть, вероятно ли, что контент является динамическим (устанавливает ли он файлы cookie, требует ли он аутентификации, является ли это POST-запросом и т. вот так) - если ни одно из этих условий не выполнено, Varnish возвращается к return (lookup)