Рейтинг:0

Varnish отказывается кэшировать, вызывая «hit_for_pass»

флаг dk
   13 StatSess c 127.0.0.2 48714 0 1 1 0 1 1 687 2573
   24 BackendXID b 1374630903
   24 TxRequest b ПОЛУЧИТЬ
   24 TxURL b /do_ajax.php?action=get-dom
   24 TxProtocol b HTTP/1.0
   24 TxHeader b X-Forwarded-Proto: https
   24 TxHeader b X-Forwarded-Port: 443
   24 TxHeader b Хост: www.officestocks.com
   24 TxHeader b Accept-Language: en-US,en;q=0.9
   24 TxHeader b Принять: text/plain, */*; р=0,01
   24 TxHeader b User-Agent: Mozilla/5.0 (iPhone; ЦП iPhone OS 15_3_1, как Mac OS X) AppleWebKit/605.1.15 (KHTML, как Gecko) Version/15.3 Mobile/15E148 Safari/604.1
   24 TxHeader b Реферер: https://www.officestocks.com/
   24 TxHeader b X-Requested-With: XMLHttpRequest
   24 TxHeader b X-Remote-IP: 184.89.213.63
   24 TxHeader b X-Forwarded-For: 184.89.213.63
   24 TxHeader b Accept-Encoding: gzip
   24 TxHeader b X-Varnish: 1374630903
   24 Протокол Rxb HTTP/1.1
   24 RxСтатус b 200
   24 RxResponse b ОК
   24 RxHeader b Дата: пятница, 04 марта 2022 г., 20:20:57 по Гринвичу
   24 RxHeader b Сервер: Apache/2.2.15 (CentOS)
   24 RxHeader b X-Robots-Tag: noindex
   24 RxHeader b X-Content-Type-Options: nosniff
   24 RxHeader b Истекает: среда, 11 января 1984 г., 05:00:00 по Гринвичу
   24 RxHeader b Cache-Control: без кэша, обязательная повторная проверка, max-age=0
   24 RxHeader b X-Frame-Options: SAMEORIGIN
   24 RxHeader b Referrer-Policy: strict-origin-when-cross-origin
   24 RxHeader b Варьируется: Accept-Encoding, User-Agent
   24 RxHeader b Content-Encoding: gzip
   24 RxHeader b Соединение: закрыть
   24 RxHeader b Content-Type: text/html; кодировка = UTF-8
   24 Fetch_Body b 5(eof) cls 0 mklen 1
   24 Длина б 26
   24 BackendClose b по умолчанию
   12 SessionOpen c 127.0.0.2 48702 127.0.0.2:80
   12 ReqStart c 127.0.0.2 48702 1374630903
   12 RxRequest c ПОЛУЧИТЬ
   12 RxURL c /do_ajax.php?action=get-dom
   12 RxProtocol c HTTP/1.0
   12 RxHeader c X-Real-IP: 184.89.213.63
   12 RxHeader c X-Forwarded-For: 184.89.213.63
   12 RxHeader c X-Forwarded-Proto: https
   12 RxHeader c X-Forwarded-Port: 443
   12 RxHeader c Хост: www.officestocks.com
   12 RxHeader c Соединение: закрыть
   12 RxHeader c Accept-Language: en-US,en;q=0.9
   12 RxHeader c Accept-Encoding: gzip, deflate, br
   12 RxHeader c Accept: text/plain, */*; р=0,01
   12 RxHeader c User-Agent: Mozilla/5.0 (iPhone; ЦП iPhone OS 15_3_1, как Mac OS X) AppleWebKit/605.1.15 (KHTML, как Gecko) Version/15.3 Mobile/15E148 Safari/604.1
   12 RxHeader c Реферер: https://www.officestocks.com/
   12 RxHeader c Cache-Control: max-age=1000
   12 RxHeader c X-Requested-With: XMLHttpRequest
   12 VCL_call c получено
   12 VCL_acl c MATCH proxyIps 127.0.0.2
   12 VCL_return c поиск
   12 VCL_call c хэш
   12 Хэш c /do_ajax.php?action=get-dom
   12 Хэш c www.officestocks.com
   12 Хэш c 443
   12 Хэш с 
   12 VCL_return c хэш
   12 HitPass c 1374630098
   12 VCL_call c пройти пройти
   12 Backend c 24 по умолчанию по умолчанию
   12 TTL c 1374630903 RFC 0 -1 -1 1646425258 0 1646425257 442645200 0
   12 VCL_call c выборкой
   12 ТТЛ c 1374630903 ВКЛ -0 120 -1 1646425258 -1
   12 ТТЛ c 1374630903 ВКЛ 121 120 -1 1646425258 -1
   12 VCL_return c hit_for_pass
   12 ObjProtocol c HTTP/1.1
   12 ObjResponse c OK
   12 ObjHeader c Дата: пт, 04 марта 2022 г., 20:20:57 по Гринвичу
   12 ObjHeader c Сервер: Apache/2.2.15 (CentOS)
   12 ObjHeader c X-Robots-Tag: noindex
   12 ObjHeader c X-Content-Type-Options: nosniff
   12 ObjHeader c Срок действия истекает: среда, 11 января 1984 г., 05:00:00 по Гринвичу.
   12 ObjHeader c Cache-Control: без кэша, обязательная повторная проверка, max-age=0
   12 ObjHeader c X-Frame-Options: SAMEORIGIN
   12 ObjHeader c Referrer-Policy: strict-origin-when-cross-origin
   12 ObjHeader c Content-Encoding: gzip
   12 ObjHeader c Content-Type: text/html; кодировка = UTF-8
   12 Gzip c U F - 26 0 80 128 138
   12 VCL_call c доставить доставить
   12 TxProtocol c HTTP/1.1
   12 Состояние передачи c 200
   12 TxResponse c OK
   12 TxHeader c Сервер: Apache/2.2.15 (CentOS)
   12 TxHeader c X-Robots-Tag: noindex
   12 TxHeader c X-Content-Type-Options: nosniff
   12 TxHeader c Срок действия истекает: среда, 11 января 1984 г., 05:00:00 по Гринвичу.
   12 TxHeader c Cache-Control: без кэша, обязательная повторная проверка, max-age=0
   12 TxHeader c X-Frame-Options: SAMEORIGIN
   12 TxHeader c Referrer-Policy: strict-origin-when-cross-origin
   12 TxHeader c Content-Encoding: gzip
   12 TxHeader c Content-Type: text/html; кодировка = UTF-8
   12 TxHeader c Content-Length: 26
   12 TxHeader c Допустимые диапазоны: байты
   12 TxHeader c Дата: пт, 04 марта 2022 г., 20:20:58 по Гринвичу
   12 TxHeader c X-Varnish: 1374630903
   12 TxHeader c Через: 1.1 лак
   12 TxHeader c Соединение: закрыть
   12 TxHeader c Возраст X: 0
   12 TxHeader c X-Cache: MISS
   12 TxHeader c X-Pragma: 
   12 TxHeader c X-Cache-Control: 
   12 TxHeader c X-Stock: 
   12 TxHeader c X-URL: /do_ajax.php?action=get-dom
   12 TxHeader c X-Auth: 
   12 TxHeader c X-IP: 
   12 Длина с 26
   12 ReqEnd c 1374630903 1646425257,592263222 1646425258,176410437 0,000068903 0,584094763 0,000052452
   12 SessionClose c Соединение: закрыть

Итак, я занимался отладкой и обнаружил, что лак выполнял поиск в кеше, но в результате возвращался объект «попадание для прохода». Но прочитав немного об этом здесь: https://stackoverflow.com/questions/12691489/varnish-hit-for-pass-means Я видел, что он не кэшировался из-за большого трафика, если я правильно понял, есть ли способ заставить лак кэшировать объект?

Я вижу такие вещи, но я не уверен, как перезаписать их в моих конфигах лака:

   12 TxHeader c Срок действия истекает: среда, 11 января 1984 г., 05:00:00 по Гринвичу.

Только что видел это, но это не помогло мне определить, в чем может быть проблема:

https://stackoverflow.com/questions/35449723/varnish-what-is-causing-hit-for-pass

Рейтинг:0
флаг in

Ваш сервер возвращает Cache-Control: без кэша, необходимо перепроверить, max-age=0 заголовок, который явно указывает Varnish не кэшировать.

Мой первоначальный совет состоял бы в том, чтобы убедиться, что /do_ajax.php?action=get-dom ресурс возвращает Кэш-Контроль заголовок, который разрешает кэширование.

Если это невозможно, вы всегда можете использовать следующий код VCL для принудительного кэширования:

суб vcl_backend_response {
    if(bereq.url == "/do_ajax.php?action=get-dom") {
        отключить beresp.http.Expires;
        set beresp.http.Cache-control = "public, max-age=3600";
        установить beresp.ttl = 1h;
        возврат (доставка);
    }
}

ВАЖНЫЙ: на основе вывода вашего лаковое бревно command Я вижу, что вы используете устаревшую версию Varnish. Не могли бы вы убедиться, что вы используете Varnish 6 или 7? Видеть https://www.varnish-software.com/developers/downloads/ инструкции по загрузке и установке.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.