Функция strlen()
не поможет решить вашу проблему. Varnish отклоняет запрос из-за большого заголовка Cookie
до выполнения vcl_recv
. Если вы не хотите, чтобы эти запросы были отклонены, вам нужно проверить и настроить некоторые параметры времени выполнения: http_req_hdr_len
, http_req_size
, http_resp_hdr_len
и т. Д.
В любом случае, если вы все еще заинтересованыв функции strlen()
было бы тривиально добавить ее в std
VMOD, но такой поддержки в настоящее время не существует. Вы можете рассмотреть возможность использования существующего VMOD, включая такие утилиты, как strlen()
(или реализовать его самостоятельно), но это, вероятно, слишком много работы. Наконец, вы можете рассмотреть возможность использования хакерского подхода с использованием только VCL и регулярного выражения:
if (req.http.Cookie ~ "^.{1024,}$") {
...
}